Avatar billede peturkirke Novice
21. august 2006 - 01:44 Der er 7 kommentarer og
1 løsning

problemer med ASPimage

Jeg prøver på at lave resize på et billede med ASPimage:

<%
Set Image = Server.CreateObject("AspImage.Image")
Image.LoadImage Server.MapPath("/myndir/1.jpg")

size = 400

if Image.MaxX > size then
    NewHeight = Cint(ImageMaxY*size/Image.MaxX)
    NewWidth = size
    Image.ResizeR NewHeight,NewWidth
    Image.ImageFormat = 1
end if

Image.FileName = Server.MapPath("/myndir/1.jpg")
Image.SaveImage

Set Image = Nothing
%>

Det som sker er, at mit billede, som før dette script var på mere end 1 mb, bliver til 0 byte, dvs tomt ! Hvorfor sker dette ?
Avatar billede keysersoze Guru
21. august 2006 - 09:21 #1
den typiske fejl er, at det billede man forsøger at loade ind ikke findes på den angivne position eller at ens regnestykke er forkert - hvad sker hvis du kun loader billedet ind og gemmer det igen og intet andet?
Avatar billede peturkirke Novice
21. august 2006 - 11:06 #2
det sker præcis det samme.
og hvis jeg prøver at gemme til et ny filnavn, så sker der ingenting, dvs der bliver ikke oprettet nogen ny fil.  :(
Avatar billede peturkirke Novice
21. august 2006 - 11:51 #3
nu er jeg kommet noget længere ! jeg fandt ud af, at når filerne er større end 1 mb, så virker det ikke. Det er måske en opsætning / limit på serveren ? Kan man sætte det højere i programmeringen ?

Men når jeg nu indsætter min kode igen, dvs den som skal resize billedet, så får jeg igen en fil på 0 byte  :(
Avatar billede keysersoze Guru
21. august 2006 - 11:58 #4
<%
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
If FSO.FileExists(Server.MapPath("/myndir/1.jpg")) Then
  Response.Write ("ok")
Else
  Response.Write ("none")
End If
Set FSO = Nothing
%>

hvad udskriver ovenstående på din skærm? Og hvad med nedesntående?

<%
Set Image = Server.CreateObject("AspImage.Image")
Image.LoadImage Server.MapPath("/myndir/1.jpg")
Image.FileName = "d:\inetpub\wwwroot\images\msg1.jpg"
if Image.SaveImage then
  Response.Write "en besked"
else
  Response.Write "en anden besked"
end if
%>
Avatar billede keysersoze Guru
21. august 2006 - 12:00 #5
der kan sagtens være en limit på serveren og den kan ikke overskrive - men hvornår opstår problem med 1MB? ved læsning eller skrivning?
Avatar billede peturkirke Novice
21. august 2006 - 12:14 #6
de udskriver:

test1 - ok
test2 - en anden besked

jeg er imidlertid kommet meget længere. Nu har jeg fundet ud af, at det virker hvis jeg kun skriver tal i de 2 variabler NewHeight og NewWidth.

dvs at jeg skal kun have rettet de her 2 linjer:

NewHeight = Cint(ImageMaxY*size/Image.MaxX)
NewWidth = size
Avatar billede peturkirke Novice
21. august 2006 - 12:21 #7
jeg har fundet fejlen, og den har vi vist begge 2 overset. Det er nemlig, at der mangler et . imellem ImageMaxY. Det skal være Image.MaxY    :)))

men mange tak for hjælpen og skriv et svar, så får du poeng
Avatar billede keysersoze Guru
26. august 2006 - 09:48 #8
svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester