Avatar billede oziris Nybegynder
08. november 2005 - 19:47 Der er 8 kommentarer og
1 løsning

AspImage: jpg til jpg, gif til gif

Hej jeg har et AspImage script som laver mit uploadede billede om til en thumbnail og gemmer det i en anden mappe.

Jeg bruger Image.ImageFormat = 1 for at gemme jpg-filerne som jpg, men jeg vil gerne have at de uploadede gif-filer gemmes som gif-thumbnails.

Hvordan gør jeg det?

Image.LoadImage (server.mappath("../pix/gallery/" & upload.files("Foto").ExtractFileName ) )
Image.ImageFormat = 1
Image_Height = Image.MaxY
Image_Width = Image.MaxX
aspect_ratio = 80 / Image_Height
Image_Width = Image_Width * aspect_ratio
Image.ResizeR Image_Width, 80
Image.JPEGQuality = 85
Image.FileName = server.mappath("../pix/thumbs/" & upload.files("Foto").ExtractFileName )
Image.SaveImage
Avatar billede cpufan Juniormester
08. november 2005 - 20:27 #1
har du prøvet at udelade den linie:

Image.ImageFormat = 1


så tror jeg den bibeholder format.
Avatar billede oziris Nybegynder
08. november 2005 - 20:37 #2
nope.. den laver stadig gif om til jpg, men jpg filen er tom.
Hvordan kan man tjekke om den uploadede fil er en gif eller en jpg?
Avatar billede cpufan Juniormester
08. november 2005 - 20:47 #3
Image.LoadImage (server.mappath("../pix/gallery/" & upload.files("Foto").ExtractFileName ) )

Image_Height = Image.MaxY
Image_Width = Image.MaxX
aspect_ratio = 80 / Image_Height
Image_Width = Image_Width * aspect_ratio
Image.ResizeR Image_Width, 80
Image.JPEGQuality = 85
Image.FileName = server.mappath("../pix/thumbs/" & upload.files("Foto").ExtractFileName )
if instr(image.filename,".gif")>1 then
Image.ImageFormat = 5
else
Image.ImageFormat = 1
end if
Image.SaveImage
Avatar billede oziris Nybegynder
08. november 2005 - 20:54 #4
Den vil ikke gemme giffen... måske virker AspImage ikke med gif?
Avatar billede oziris Nybegynder
08. november 2005 - 21:06 #5
A-ha!

http://www.eksperten.dk/spm/241154

Gif vil åbenbart ikke resizes uden det koster..
Men tak for hjælpen jeg fik trods alt lavet en vej den om via:

if instr(image.filename,".jpg")>1 then

Image.ImageFormat = 1
Image_Height = Image.MaxY
Image_Width = Image.MaxX
aspect_ratio = 80 / Image_Height
Image_Width = Image_Width * aspect_ratio
Image.ResizeR Image_Width, 80
Image.JPEGQuality = 85
Image.FileName = server.mappath("../pix/thumbs/" & upload.files("Foto").ExtractFileName )
Image.SaveImage

else
Response.Redirect "FotoError.asp?strId=Billedet er ikke en .jpg-fil!"
end if
Avatar billede oziris Nybegynder
08. november 2005 - 21:27 #6
hmmm den der:
if instr(image.filename,".jpg")>1 then
virker heller ikke rigtigt...

Har du en anden mulighed for at detecte filformatet?
Avatar billede cpufan Juniormester
08. november 2005 - 21:57 #7
jo det er fordi du først skal sætte filename,
førend du kan teste på det
Avatar billede cpufan Juniormester
08. november 2005 - 22:00 #8
så f.eks. sådan:
Image.FileName = server.mappath("../pix/thumbs/" & upload.files("Foto").ExtractFileName )
if instr(image.filename,".jpg")>1 then

Image.ImageFormat = 1
Image_Height = Image.MaxY
Image_Width = Image.MaxX
aspect_ratio = 80 / Image_Height
Image_Width = Image_Width * aspect_ratio
Image.ResizeR Image_Width, 80
Image.JPEGQuality = 85

Image.SaveImage

else
Response.Redirect "FotoError.asp?strId=Billedet er ikke en .jpg-fil!"
end if
Avatar billede oziris Nybegynder
09. november 2005 - 21:33 #9
Jeg detecter gif'en allerede i uploadfunktionen:

If Upload.files("Foto").ImageType <> "JPG" Then
Response.Redirect "FotoError.asp?strId=Billedet er ikke en .jpg (jpeg)-fil!"
End if

Det virker :-)
-men tak for hjælpen endnu engang.
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