webForumDet fria alternativet

Matematiksvårigheter

ASP

4 svar · 347 visningar · startad av MickeA.com

Medlem sedan feb. 20034 441 inlägg
Frågan#1

HejHej

Det här är eg. inte en Aspfråga, men eftersom jag sitter o fnular med AspUpload samt AspJpeg, så hamnar den här ;)

Problemet är att jag ska ladda upp en bild via ett formulär. I formuläret har jag en rullista där man väljer hur många procent av originalbilden som den uppladdade bilden ska bli.

Jag gör även en thumbnail av bilden, här kommer lite kod:

http://www.aspupload.com/aspjpeg.html skrev:

' Set new width
jpeg.Width = Request("width")

' Set new height, preserve original width/height ratio
jpeg.Height = _
jpeg.OriginalHeight * jpeg.Width / jpeg.OriginalWidth

Såhär har jag gjort, för bilderna jag kommer ladda upp är jättestora från min kamera, jag vill minska storleken en aning på 'originalbilden'.

Jpeg1.Width = Jpeg1.OriginalWidth * Upload.Form("strScal") / 100
Jpeg1.Height = Jpeg1.OriginalHeight *  Jpeg1.Width / Jpeg1.OriginalWidth

Jag vill alltså m.h.a rullisten kunna minska bildens bredd med x procent med samtidigt minska höjden så bilden blir proportions enlig.

Såhär ser min rullist ut:

<select name="strScal">
<option>Välj Ngt I Listan</option>
<option value="0.75">75%</option>
<option value="0.50">50%</option>
<option value="0.35">35%</option>
<option value="0.20">20%</option>
<option value="0.05">5%</option>
</select>

Så det som händer just nu är att bilden bara blir större, jättemycket större och jag är inte med på vad detta beror på. Är det nån som ser fel i min kod, så skulle hjälp vara hyvens.

Tack !

Medlem sedan jan. 2000978 inlägg
#2

Varför delar du med 100?
Det räcker väl att multiplicera med ex. 0.5 för att få 50% av originalbredden.

Medlem sedan dec. 20003 887 inlägg
#3

Du måste ju först räkna ut förhållandet...

sngRatio = Jpeg1.Width / Jpeg1.Height

Sedan är det bara att sätta den nya bredden och beräkna höjden med hjälp av förhållandet

Jpeg1.Width = Jpeg1.OriginalWidth * Upload.Form("strScal") / 100
Jpeg1.Height = Jpeg1.OriginalHeight * Upload.Form("strScal") * sngRatio / 100

Nu när jag kollade så var det egentligen bara att du hade dividerat med fel värde... Jpeg1.OriginalWidth, det skulle ha varit höjden.

Medlem sedan jan. 2000978 inlägg
#4

Detta bör väl räcka.

Jpeg1.Width = Jpeg1.OriginalWidth * Upload.Form("strScal")
Jpeg1.Height = Jpeg1.OriginalHeight * Upload.Form("strScal")
Medlem sedan feb. 20034 441 inlägg
#5

Ja, det där bör ju faktiskt räcka.
Men eftersom det stod som det gjorde i AspJpeg's hjälpfil så körde jag så istället.

Det är ju himla lustigt att inte det funkar, för när jag gjorde enligt det, blir ju bilden bara större ;)

Tack för hjälpen

261 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)