webForumDet fria alternativet

AspImage sub

7 svar · 1 112 visningar · startad av Bosse168

Bosse168Medlem sedan nov. 20031 018 inlägg
#1

Någon som kan hjälpa mig att "konfiguera" ett script som gör om storleken på den uppladdade bilden?
Istället för att göra om bilden till den fasta storleken som scriptet använder nu så vill jag att den bara ska dela storleken beroende på bildens storlek.

'This sub is used to resize the photo 
Sub ResizeX (intXSize) 
Dim intYSize 
intYSize = (intXSize / myImage.MaxX) * myImage.MaxY 
myImage.ResizeR intXSize, intYSize 
End Sub

' Creating the Image object 
Dim myImage 
Set myImage = Server.CreateObject("aspimage.Image") 

' Loading Image object and resize 
myImage.LoadImage Server.MapPath("test") &"\"& NewName & Ext

' Här vill jag få in en variabel (bredd) med hur mycket höjden och bredden ska delas med.
Call ResizeX(100) 

' Save Photo File 
myImage.Filename = Server.MapPath("test") &"\"& NewName & Ext 
myImage.SaveImage
 
Set myImage=Nothing

Kanske finns någon bättre lösning :stud

Innan använde jag AspJpeg och använde då följande kod.

if Jpeg.OriginalWidth > 1500 then
Jpeg.Width = Jpeg.OriginalWidth / 3
Jpeg.Height = Jpeg.OriginalHeight / 3

' Optional: apply sharpening
Jpeg.Sharpen 1, 200
' Create thumbnail and save it to disk
Jpeg.Save Server.MapPath("bilder") &"\upload\"& NewName & Ext

Elseif Jpeg.OriginalWidth > 1000 then
Jpeg.Width = Jpeg.OriginalWidth / 2.2
Jpeg.Height = Jpeg.OriginalHeight / 2.2

End If
solbulleMedlem sedan mars 20015 287 inlägg
#2
'This sub is used to resize the photo 
Sub ResizeX (intXSize) 
Dim intYSize 
intYSize = ((myImage.MaxX/intXSize) / myImage.MaxX) * myImage.MaxY 
myImage.ResizeR (myImage.MaxX/intXSize), intYSize 
End Sub

' Creating the Image object 
Dim myImage 
Set myImage = Server.CreateObject("aspimage.Image") 

' Loading Image object and resize 
myImage.LoadImage Server.MapPath("test") &"\"& NewName & Ext

' Här vill jag få in en variabel (bredd) med hur mycket höjden och bredden ska delas med.
Call ResizeX(100) 

' Save Photo File 
myImage.Filename = Server.MapPath("test") &"\"& NewName & Ext 
myImage.SaveImage
 
Set myImage=Nothing

Kanske kan fungera. (Lite simpelt gjort iofs.)

Bosse168Medlem sedan nov. 20031 018 inlägg
#3

Oj glömde säga att ligger på en upload sida.
Så sub ligger alltså innan:

For Each File in Upload.Files

Och detta innanför

' Creating the Image object 
Dim myImage 
Set myImage = Server.CreateObject("aspimage.Image") 

' Loading Image object and resize 
myImage.LoadImage Server.MapPath("test") &"\"& NewName & Ext

' Här vill jag få in en variabel (bredd) med hur mycket höjden och bredden ska delas med.
Call ResizeX(100) 

' Save Photo File 
myImage.Filename = Server.MapPath("test") &"\"& NewName & Ext 
myImage.SaveImage
 
Set myImage=Nothing

Sorry :r

Bosse168Medlem sedan nov. 20031 018 inlägg
#4

Löste det tog bort subben och använde denna koden direkt i loopen.

Dim intYSize 
intYSize = ((myImage.MaxX/bredd) / myImage.MaxX) * myImage.MaxY 
myImage.ResizeR (myImage.MaxX/bredd), intYSize
solbulleMedlem sedan mars 20015 287 inlägg
#5

Du lär väl kunna ändra i subben till bara:

Sub ResizeX (nSize)
myImage.ResizeR (myImage.MaxX/nSize), (myImage.MaxY/nSize)
End Sub

Det spelar väl ingen roll? Bara att du ser till att är bilderna i din loop du öppnar o ändrar storlek på, mha File-objektet som du skapar.

solbulleMedlem sedan mars 20015 287 inlägg
#6

Så sant så sant, varför krängla till det mer än nödvändigt?
Det är för sent för sånt här nu känner jag... :)

Bosse168Medlem sedan nov. 20031 018 inlägg
#7

Samma här :)
Men tack för hjälpen

TonyboyMedlem sedan jan. 200554 inlägg
#8

AspImage

Oops, postade mitt inlägg på helt fel plats :)

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