webForumDet fria alternativet

Bildstorlek...

9 svar · 537 visningar · startad av Ekström

EkströmMedlem sedan feb. 20022 594 inlägg
#1

Hur kan man med hjälp av VBScript ta reda på en bilds storlek innan den printas ut.

Det jag vill göra är så att om bilden är över 300px bred så ska den förminskas till 300px... Går det?
Om det inte går med VBScript så går det bra med JavaScript, frågar i det forumet om jag inte får svar här alltså...

QuidMedlem sedan juni 20006 025 inlägg
#2

Då får man nog använda en komponent, som t.ex. AspSmartImage eller AspJpeg.

solbulleMedlem sedan mars 20015 287 inlägg
#3

Om det är en webbsida med en bild på som du printar ut kan du ju sätta bredd & höjd.

QuidMedlem sedan juni 20006 025 inlägg
#4

Jo, fast nu var ju problemet "OM" bilden är större än 300 så ska den skalas ner till 300 rent %-mäsigt och för det krävs det en komponent.

Kanske går att lösa med Javascript eller något annat, en det vet jag inget om.

Web-TorMedlem sedan nov. 200013 890 inlägg
#5

Kanske går att lösa med Javascript eller något annat

Du kan lösa det med PHP-funktionen getImageSize §e

ToonsterMedlem sedan feb. 20001 590 inlägg
#6

Om det är en storleksförändring som ska ev. göras på klientsidan, så är det Javascript som gäller. Vänd dig till det forumet i så fall. Är det så att du vill minska bildens storlek på servern, så krävs antingen en komponent, eller en funktion som behandlar bildstorleken.

/T

EkströmMedlem sedan feb. 20022 594 inlägg
#7

Tackar för samtliga svar, får prova i JavaScriptforumet.

Någon som vet om det fungerar med aspSmartImage?

solbulleMedlem sedan mars 20015 287 inlägg
#8

Quid:

Jo, fast nu var ju problemet "OM" bilden är större än 300 så ska den skalas ner till 300 rent %-mäsigt och för det krävs det en komponent.

Nja... om man nu skall printa ut en bild som finns på en webbsida så kan man med javascript ta reda på den aktuella storleken och då även sätta den storlek man vill bilden ska visas i:

<img width="300" height="300" src="image.gif" >

Visserligen är själva bilden då större, men utskriften blir ju inte större än så.
Fullt medveten om att en komponent gör jobbet bättre men många gånger kanske man inte kan installera en komponent.

MorphMedlem sedan juli 2000534 inlägg
#9

Jodå, det går att få fram bredd & höjd på en bild med VBScript & FSO, se bara här: http://www.learnasp.com/learn/graphicdetect.asp. Fast det är krångligt, långsamt och inte särskilt effektivt

Komponent rekommenderas om det är en webbplats med en större mängd trafik.

solbulleMedlem sedan mars 20015 287 inlägg
#10

Att få fram höjd och bredd är det minsta problemet, tex: http://www.webforum.nu/showthread.php?s=&threadid=39471

Problemet består i av hur man ska få bilden mindre.

Om det bara är så att man måste VISA bilden mindre är det inget större problem utan komponent.
(Nu "lånar" jag PatrikBs script.

<HTML> 
<HEAD> 
<TITLE></TITLE> 
<SCRIPT LANGUAGE="JavaScript"> 
function imgSize(obj, w, h, fs){ 

var imgpath = obj.value; 
var imgTemp = new Image(); 
imgTemp.src = imgpath; 

// -- kontrollera hur bred bilden är -- 
if (imgTemp.width > w){ 
document.form1.skala.value="bred"
hojd = (w/imgTemp.width)*imgTemp.height;
document.form1.hojd.value= hojd;
document.form1.bredd.value= w;

// -- kontrollera bildens höjd -- 
}else if(imgTemp.height > h){ 
document.form1.skala.value="hög"
bredd = (h/imgTemp.height)*imgTemp.width;
document.form1.bredd.value= bredd;
document.form1.hojd.value= h;

// -- kontrollera hur stor bilden är i bytes -- 
}else if(imgTemp.fileSize > fs){ 
alert('Bilden får inte vara mer än ' + fs + ' byte stor.\n\nVälj en annan bild.'); 
//document.location.reload(); 
return false; 
} 
return true; 
} 
</SCRIPT> 
</HEAD> 

<BODY BGCOLOR="#FFFFFF" TEXT="#000000"> 
<FORM NAME="form1" METHOD="post" ACTION="test.asp"  onSubmit="return imgSize(this.file,100,50,100);"> 
<INPUT TYPE="file" NAME="file">
<INPUT TYPE="hidden" NAME="skala">
<INPUT TYPE="hidden" NAME="hojd">
<INPUT TYPE="hidden" NAME="bredd">
<INPUT TYPE="submit" NAME="Submit" VALUE="Submit"> 
</FORM> 

</BODY> 
</HTML>

test.asp

<%
file = request.form("file")
skala = request.form("skala")
hojd = request.form("hojd")
bredd = request.form("bredd")

response.write file & "<p>"
response.write skala & "<p>"

response.write "Orginalstorlek:<br>"
response.write "<img src='" & file & "'><p>"

response.write "Tillputsad storlek:<br>"
response.write "Ny höjd * bredd är: " & hojd & " * " & bredd & "<br>"
response.write "<img width='" & bredd & "' height='" & hojd & "' src='" & file & "'><p>"
%>
133 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)