Avatar billede stkol Nybegynder
10. maj 2005 - 20:31 Der er 6 kommentarer og
1 løsning

ASPImage billedstørelse

Hejsa

Jeg har et script (Se nedenstående) som "krymper" billeder på en hjemmeside og beholder billedets "constraints". Dette er og helt fint hvis billedet er f.eks 800x600 pixels, men ikke hvis billedet er f.eks 450x41 pixels og scriptet har sat at højde skal være 100 pixels, så har jeg pludseligt et MEGET stort billed på siden. Jeg ville gerne at der i nedenstående script kunne difeneres at billedet skal holde sig inden for width 120 pixels og height 100 pixels!

Er dette muligt??

SCRIPTET ER:

<%
                                                    Dim ImageName, DummyPic
                                                    'Create a Random Number called Random_Number
                                                   
                                                    Randomize
                                                   
                                                    'Set your Min and Max Values
                                                   
                                                    Random_Number_Min = 2
                                                    Random_Number_Max = 9999
                                                   
                                                    'Call the RND Command
                                                   
                                                    Random_Number = Int(((Random_Number_Max-Random_Number_Min+1) * Rnd) + Random_Number_Min)
                                                   
                                                    DummyPic = "../../img/nopic.jpg"
                                                   
                                                    ImageName = "/admin/frame/shop/prodimg/" & prodrs("image")
                                                    if Len(ImageName) < 1 then
                                                      ImageName = DummyPic
                                                    end if
                           
                                                    ImageName = Server.MapPath(ImageName)
                                                    'response.write(ImageName)
                                                   
                                                    '*** get width/height of original image
                                                    Set objImageSize = Server.CreateObject("ImgSize.Check")                                                                                   
                                                    objImageSize.FileName = ImageName
                                                    ImageHeight = objImageSize.Height
                                                    ImageWidth = objImageSize.Width
                                                   
                                                    If ImageHeight < 1 then ImageHeight = 1 end if
                                                    If ImageWidth < 1 then ImageWidth = 1 end if 
                                                   
                                                   
                                                    '*** calculate aspect ratio based on MINPIXELS
                                                    If ImageHeight > ImageWidth Then
                                                        NewHeight = (ImageHeight*(MINPIXELS2/ImageWidth))  '###CInt
                                                        NewWidth = MINPIXELS2
                                                    Else
                                                        NewWidth = (ImageWidth*(MINPIXELS2/ImageHeight))    '###CInt
                                                        NewHeight = MINPIXELS2
                                                    End If
                                                    Set objImageSize = Nothing
                                                   
                                                    '*** create thumbnail image
                                                    Set Image = Server.CreateObject("AspImage.Image")
                                                   
                                                    Image.LoadImage(ImageName)
                                                   
                                                    newPicFileNameOnDisk = ""
                                                    NewPicLogicalFileName = ""
                                                    NewPicLogicalFileName = "/admin/frame/shop/prodimg/small/small_" & Random_Number & ".jpg"
                                                    newPicFileNameOnDisk = Server.MapPath(NewPicLogicalFileName)
                                                    newPicFileNameOnDisk = trim(newPicFileNameOnDisk)
                                                    response.write(newPicFileName)
                                                   
                                                    Image.FileName = newPicFileNameOnDisk
                                                    Image.ImageFormat = 1
                                                    Image.JPEGQuality = 100
                                                    Image.Resize NewWidth,NewHeight
                                                    Image.SaveImage
                                                    Set Image = Nothing
                                                   
                                                    Response.Write "<img src=""" & newPicLogicalFileName & """ border=""0"">"
                                                    'wend
                                                    %>

Hilsen

Stig :-)
Avatar billede cpufan Juniormester
10. maj 2005 - 20:39 #1
så vidt jeg lige kan se, har du blot glemt at sætte
MINPIXELS2 til en værdi
Avatar billede stkol Nybegynder
10. maj 2005 - 20:42 #2
Nej! den har jeg længere oppe:-)

    Dim MINPIXELS2   
    MINPIXELS2 = 100
Avatar billede cpufan Juniormester
10. maj 2005 - 20:50 #3
NewHeight = (ImageHeight/ImageWidth)*MINPIXELS2 '###CInt
NewWidth = MINPIXELS2
Else
NewWidth = (ImageWidth/ImageHeight)*MINPIXELS2 '###CInt
NewHeight = MINPIXELS2
End If
Avatar billede cpufan Juniormester
10. maj 2005 - 20:51 #4
tør godt at tro på at det var svaret :-)
Avatar billede cpufan Juniormester
10. maj 2005 - 20:53 #5
nok en god idé at kovertere til int:

NewHeight = Cint((ImageHeight/ImageWidth)*MINPIXELS2)

NewWidth = Cint((ImageWidth/ImageHeight)*MINPIXELS2)
Avatar billede stkol Nybegynder
10. maj 2005 - 21:17 #6
Nice ;-) Det virkede *S Tusindtak for hjælpen :-)
Avatar billede cpufan Juniormester
10. maj 2005 - 21:21 #7
no problemos, takker for poængs ;-)
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