09. februar 2005 - 14:01
Der er
1 kommentar og
1 løsning
Hjælp til AspImage 1.8
Hej,
Jeg er i gang med at lave et script der skal lave uploadede billeder om til thumbnails.. Upload-delen er der styr på :-)
Idéen er denne:
- Målet er at alle billeder skal være 90 x 120px
- Såfremt et billede er 240 x 180 skal det stadig laves om til 90 x 120, men her tænker jeg at det evt. skal croppes så billedet ikke bliver vredet skævt..
Nogle der kan hjælpe mig med dette??
Bemærk at jeg kun har AspImage 1.8 hvorfor alle funktioner i dokumentationen for 2.x ikke nødvendigvis er tilgængelige.. Herunder ResizeR :-)
Tak!!
09. februar 2005 - 23:06
#1
Ok - Jeg prøver at smide det kode op jeg har lavet..
Denne funktion resizer til 120 * 90
<%
Set Image = Server.CreateObject("ASPImage.Image")
Image.LoadImage Server.MapPath("\uploads\" & strFileName)
Image.ImageFormat = 1
Image.Resize 90, 120
Image.FileName = Server.MapPath("\uploads\" & strFileName)
if Image.SaveImage() then
Response.Write "Billedet blev gemt"
else
Response.Write "Der opstod en fejl, billedet blev ikke gemt"
end if
Set Image = nothing
%>
10. februar 2005 - 11:22
#2
Nå - Jeg lavede det selv..
Hvis andre en dag skulle stå i samme problemstilling er min løsning her:
<%
Set Image = Server.CreateObject("ASPImage.Image")
Image.LoadImage Server.MapPath("\uploads\" & strFileName) ' all is good
Image.ImageFormat = 1
IntHeight = Image.MaxY
intWidth = Image.MaxX
if intWidth > intHeight then
'120 er MAX højde på billedet
intRatio = ((120 * 100) / Image.MaxY)
IntNewX = Cint(Image.MaxX * (intRatio / 100))
Image.Resize IntNewX, 120
Image.CropImage 45, 0, 90, 120
else
'90 er MAX bredde på billedet
intRatio = ((90 * 100) / Image.MaxX)
IntNewY = Cint(Image.MaxY * (intRatio / 100))
Image.Resize 90, IntNewY
Image.CropImage 0, 0, 90, 120
end if
Image.FileName = Server.MapPath("\uploads\" & strFileName)
if Image.SaveImage() then
Response.Write "Billedet blev gemt"
else
Response.Write "Der opstod en fejl, billedet blev ikke gemt"
end if
Set Image = nothing
%>