webForumDet fria alternativet

Beskärning av bild

ASP

3 svar · 305 visningar · startad av rille77

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

Har stött på stora problem när jag ska beskära en bild med ASPJpeg, det ska vara en "dynamisk" beskärning där den som laddar upp bilden får en förutbestämd storlek som den slutgiltiga bilden ska vara i men han ska själv kunna välja vilken del av bilden som ska sparas.
Jag får detta felmeddelande då jag ska beskära min bild:
Microsoft VBScript runtime error '800a000d'
Type mismatch: 'CLng'
/crop/crop.asp, line 11

Och så här ser min kod ut på sidan där beskärningen sker(Rad 11 fet):
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Path = Server.MapPath("images")
Response.write Request.Querystring("image")
FilePath = Path & "/" & Request.Querystring("image")
Response.write FilePath
SavePath = Path & "\test_small.jpg"

Jpeg.Open FilePath
x1 = CLng(Request.form ("coordX"))
x2 = CLng(Request.form ("coordX")) + 90
y1 = CLng(Request.form ("coordY"))
y2 = CLng(Request.form ("coordY")) + 118

Jpeg.Width = Jpeg.OriginalWidth
Jpeg.Height = Jpeg.OriginalHeight
'Jpeg.Crop 20, 30, 80, 70
Jpeg.Crop y1, x1, y2, x2

Jpeg.Save SavePath

Nån som kan ha en aning om vad jag gör för fel, CoordX/Y hämtar jag från ett JavaScript och skickar med i ett formulär till sidan där beskärningan ska ske.

Här är scriptet och formuläret som används för att läsa in positionen på beskärningsytan.

function mark() {
var ref = document.getElementById('mark');
var ref2 = document.markform;
ref2.coordX.value = parseInt(ref.style.left, 10) - dragObj.OffsetX;
ref2.coordY.value = parseInt(ref.style.top, 10) - dragObj.OffsetY;
ref2.coordW.value = parseInt(ref.style.width, 10);
ref2.submit();
}
</SCRIPT>

<FORM name="markform" action="crop.asp?image=UF.gif" method="post">
<INPUT type="hidden" name="coordX">
<INPUT type="hidden" name="coordY">
<INPUT type="hidden" name="coordW">
<INPUT type="hidden" name="extension">
<DIV id=mark style="BORDER-RIGHT: white 1px dashed; BORDER-TOP: white 1px dashed; LEFT: 127px; BORDER-LEFT: white 1px dashed; WIDTH: 90px; BORDER-BOTTOM: white 1px dashed; POSITION: absolute; TOP: 37px; HEIGHT: 118px">
<DIV onmousedown="dragStart(event,'mark');" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; WIDTH: 100%; BORDER-BOTTOM: black 1px solid; HEIGHT: 100%">
</DIV>
</DIV>
<IMG class=border onmousedown="dragStart(event,'mark');" id=image src="images/UF.gif"><BR>
<input name="Submit" type="submit" value="submit">
</FORM>

Medlem sedan sep. 2003448 inlägg
#2

Funkar det inte utan clng eller med cint eller int?

Medlem sedan apr. 20031 660 inlägg
#3

HEJ!

Finns dessa variabler på denna sida?

Bonus: Använd [kod]-taggarna!

Medlem sedan feb. 200112 078 inlägg
#4

Antagligen är request.form("coordX") tom eller så har den ett icke-numeriskt värde.

Skriv ut dess värde och kontrollera det:

'# DEBUG
response.write "COORDX: [" & Request.form ("coordX") & "]"
258 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)