webForumDet fria alternativet

ASPSmartImage

16 svar · 600 visningar · startad av danieleinad

danieleinadMedlem sedan jan. 200430 inlägg
#1

Jag vill lägga en kort textsnutt på uppladdad bild,
kolla om den är över 100kB och om så är fallet
komprimera den till 100kB,
samt avslutningsvis skapa en 50pxl hög thumbnail.

Jag har aldrig pysslat med ASP och får inte ordning
på det, någon som har en kodsnutt att bidra med?

Tack på förhand!

MVH Daniel

ObserverMedlem sedan maj 200351 inlägg
#2

Finns bra dokumentation och exempel på deras website:
http://www.aspsmart.com

Dokumentationen finns här: http://www.aspsmart.com/scripts/aspSmartImage/publigen/content/templates/show.asp?P=326&L=EN

danieleinadMedlem sedan jan. 200430 inlägg
#3

Tack! Jag får dock inte till det,
jag sparar nedanstående i filen bild.asp

<%

mySmartImage.OpenFile "/images/minbild.jpg"

mySmartImage.FontFace = "Arial"
mySmartImage.FontBold = true
mySmartImage.FontItalic = true
mySmartImage.FontColor = "FFFFFF"
mySmartImage.AddText "Mintext", "CENTER", "CENTER"

mySmartImage.SaveFile "/images/minbild2.jpg"

%>

men när jag kör filen får jag felmeddelande:

Körningsfel i Microsoft VBScript fel '800a01a8'

Objekt krävs.: 'mySmartImage'

/bild.asp, rad 3

@ndersMedlem sedan juni 200032 969 inlägg
#4

Har du verkligen instansierat objektet?

danieleinadMedlem sedan jan. 200430 inlägg
#5

Vet inte riktigt, allt jag har gjort finns mellan <% %>

@ndersMedlem sedan juni 200032 969 inlägg
#6

Läs det som står precis under Syntax här: http://www.aspsmart.com/aspSmartImage/liblocal/docs/SmartImageObjectOverview.htm

danieleinadMedlem sedan jan. 200430 inlägg
#7

Funkar fint!

Men det gör inte det här;

OriginalWidth = mySmartImage.OriginalWidth
OriginalHeight = mySmartImage.OriginalHeight

xx = OriginalWidth-20
yy = OriginalHeight-20

mySmartImage.AddText "Mintext", "xx", "yy"

Hur ska jag skriva för att göra xx och yy till variabler
med ett värde på 20 mindre än bildens bredd resp höjd?

Jag vill alltså placera texten i nedre högra hörnet,
och vill inte använda RIGHT resp BOTTOM då jag
vill placera vit text på en pixels avstånd från samma
text fast i svart.

Tack!

@ndersMedlem sedan juni 200032 969 inlägg
#8

Jag är inte helt säker på vad du menar, men:

mySmartImage.AddText "Boning.se", xx, yy
danieleinadMedlem sedan jan. 200430 inlägg
#9

WOW! Jag hade ju nästan gjort rätt själv!

@ndersMedlem sedan juni 200032 969 inlägg
#10

Japp, nästan! :)

Nästa gång blir det helt rätt? :)

Mvh

danieleinadMedlem sedan jan. 200430 inlägg
#11

Mitt webbhotell bjuder varken på gd eller imagemagick,
så det är därför jag tvingas ut i asp-skogen för att kunna
lägga till text och storleksändra bilder.

Men, när bilden har kopierats till min server i php-filen,
hur kallar jag då på denna bild.asp-fil för att få bilderna
modiferade?
Det borde finnas något bättre sätt än att META-refresha
till bild.asp väl?

@ndersMedlem sedan juni 200032 969 inlägg
#12

Din fråga är alltså, hur du med php kallar på asp-filen?
I så fall; sök gärna på location i php-forumet. Du kan sedan med response.redirect kasta dig vidare från asp-filen när du är klar.

Mvh

DanielkunMedlem sedan maj 2003361 inlägg
#13

danieleinad, Hur fick du ditt webhotel att installera AspSmartImage? ahde dom det redan installerat?

danieleinadMedlem sedan jan. 200430 inlägg
#14

De hade det redan installerat, och webbhotellet ifråga är WA-data.
Jag ville iofs hellre ha GD i php, men AspSmartImage kanske är bättre?

AsaMedlem sedan dec. 20011 860 inlägg
#15

sidan.asp

<table>
  <tr>
    <td>
      <img src="thumb.asp?pic=bild50.jpg&bredd=350&hojd=100" border="1">
    </td>
  </tr>
</table>

thumb.asp

<%
Set oSmartImage = Server.CreateObject("aspSmartImage.SmartImage")

  oSmartImage.OpenFile (Request("pic"))
  oSmartImage.Quality = 100
  If Request("hojd") <> "" Then
    oSmartImage.Resample Request("bredd"),Request("hojd")
  Else
    oSmartImage.Resample Request("bredd"),0
  End If

oSmartImage.Download
Set oSmartImage = Nothing
%>

Man måste inte han med både höjd och bredd i exemplet sidan.asp. Kanske inte det du sökte men denna koden funkar iallafall.

danieleinadMedlem sedan jan. 200430 inlägg
#16

Den här filen kallas genom
<IMG SRC="skapabilder.asp?bilden=123&bildensm=123">
och den skapar thumbnails som den ska, och förminskar även
bilder till max 960 pixlars vidd, men den begränsar inte storleken
till 100kB, någon som ser varför?

Tack!

<%
Dim Size, komp
Set oSmartImage = Server.CreateObject("aspSmartImage.SmartImage")

oSmartImage.OpenFile (Request("bilden"))
oSmartImage.Resample 70,0
oSmartImage.Quality = 99
oSmartImage.SaveFile (Request("bildensm"))

oSmartImage.Download
Set oSmartImage = Nothing

Set xSmartImage = Server.CreateObject("aspSmartImage.SmartImage")

xSmartImage.OpenFile (Request("bilden"))
OriginalWidth = xSmartImage.OriginalWidth

If OriginalWidth > 960 Then
xSmartImage.Resample 960, 0
End If

xSmartImage.AddImage "bonstamp.gif", "RIGHT", "BOTTOM"

 komp = 100

Size = xSmartImage.Size
Do While Size \> 102400
xSmartImage.Quality = komp	
komp = komp - 1
Loop

xSmartImage.SaveFile (Request("bilden"))

%>

danieleinadMedlem sedan jan. 200430 inlägg
#17

Ser nu att xSmartImage.Size inte ändras när man
ändrar xSmartImage.Quality, sår jag får resampla
bilden istället, men varför funkar inte:

<%
Dim sizy, komp

Set oSmartImage = Server.CreateObject("aspSmartImage.SmartImage")

oSmartImage.OpenFile (Request("bilden"))
oSmartImage.Resample 70,0
oSmartImage.Quality = 99
oSmartImage.SaveFile (Request("bildensm"))

oSmartImage.Download
Set oSmartImage = Nothing

Set xSmartImage = Server.CreateObject("aspSmartImage.SmartImage")
xSmartImage.OpenFile (Request("bilden"))
xSmartImage.Quality=99

OriginalWidth = xSmartImage.OriginalWidth
OriginalHeight = xSmartImage.OriginalHeight

If OriginalWidth \> OriginalHeight Then

If OriginalWidth > 960 Then
xSmartImage.Resample 960, 0

komp = 959
Do While sizy > 102400
sizy = xSmartImage.Size
xSmartImage.Resample komp, 0
komp - 1
Loop

Else

Do While sizy > 102400
sizy = xSmartImage.Size
xSmartImage.Resample OriginalWidth, 0
OriginalWidth -1
Loop

End If
Else

If OriginalHeight > 960 Then
xSmartImage.Resample 960, 0

komp = 959
Do While sizy > 102400
sizy = xSmartImage.Size
xSmartImage.Resample 0,komp
komp - 1
Loop

Else

Do While sizy > 102400
sizy = xSmartImage.Size
xSmartImage.Resample 0,OriginalHeight
OriginalHeight -1
Loop

End If

End If

xSmartImage.AddImage "bonstamp.gif", "RIGHT", "BOTTOM"
xSmartImage.SaveFile (Request("bilden"))

%>

137 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)