Finns det någon script som kan kolla hur stor en bild är (area, ex 640x480,800x600 osv...) Är det en gif-bild så står antalet pixlar i x-led på sjunde och åttonde byten och y-led på nionde och tionde. Här är ett tips som jag hittade här... Plutten, den fungar endast i GIF men inte JPG ser inte riktig var man ska ändra så det fungerar :-/ Hmm, jag har inte använt den själv än... Det är bara att plocka bort gif-delen: Hmm jag testade att ta bort JPG men visst jag kanske tog bort något som man behöver? Vad hände när du körde koden jag klistrade in ovan? Någon som kan lösa hur man ska skriva om bilden ligger på en annan server? Att skriva exempelvis Response.Write GetPicSize ("http://www.doman.com/bilder/bild.gif") funkar ju inte :( Jag har testat massor av varianter på detta och jag tror att man skall ha ut antal förger på jpg bilderna för att korekt kunna fastställa height och width. <script language="JavaScript"> Ja, en jpg bilds header är inte statisk, man måste leta rätt på var i headern man ska kolla på storleken...Bilden storlek?
Dom som jag har tittat hittar jag bara så jag måste använda en komponent och det kan jag inte använda?Sv: Bilden storlek?
Hur jpg-specen ser ut har jag tyvärr inte i huvudet, men det borde ju gå att kolla upp... *kollar* De verkar ligga på 164:e och 165:e respektive 166:e och 167:e, fast i omvänd ordning, dvs y kommer först. Observera dock att jag inte hittade specen, utan jag kikade i några jpg-bilder.Sv: Bilden storlek?
Response.Write GetPicSize ("images\exempel.gif")
Function GetPicSize (fn)
Set fso = CreateObject("Scripting.FileSystemObject")
if fso.FileExists(Server.MapPath(fn)) = false then exit function
pn = Server.MapPath(fn)
tstr = ""
Set f = fso.OpenTextFile(pn)
Select Case UCase(Right(fn,4))
Case ".GIF",".JPG"
If NOT f.AtEndOfStream Then
If UCase(Right(fn,4))=".GIF" Then
chars = f.read(10)
width = asc(mid(chars,8,1))*256 + asc(mid(chars,7,1))
height = asc(mid(chars,10,1))*256 + asc(mid(chars,9,1))
hw = " WIDTH=" & width & " HEIGHT=" & height
Else
chars = f.read(200)
height = asc(mid(chars,164,1))*256 + asc(mid(chars,165,1))
width = asc(mid(chars,166,1))*256 + asc(mid(chars,167,1))
If (height>600) OR (height<3) OR (WIDTH<3) OR (WIDTH>600) Then
Else
hw = " WIDTH=" & width & " HEIGHT=" & height
End If
End If
End If
GetPicSize = "W : " & width & " H :" & height
End Select
f.Close
Set f = Nothing
Set fso = Nothing
End Function
Mvh ThomasSv: Bilden storlek?
Sv: Bilden storlek?
Det var ett tips jag sparade för framtida användning och det tipset skulle klara av gif och jpg, men det är nog bara att ändra raderna den läser på...
Mvh ThomasSv: Bilden storlek?
Set fso = CreateObject("Scripting.FileSystemObject")
if fso.FileExists(Server.MapPath(fn)) = false then exit function
pn = Server.MapPath(fn)
tstr = ""
Set f = fso.OpenTextFile(pn)
chars = f.read(200)
height = asc(mid(chars,164,1))*256 + asc(mid(chars,165,1))
width = asc(mid(chars,166,1))*256 + asc(mid(chars,167,1))
f.Close
Set f = Nothing
Set fso = Nothing
(Och som vi ser på height- och width-raderna verkar det som jag gissade rätt att det låg på plats 164 och 165 respektive 166 och 167.)Sv: Bilden storlek?
Sv: Bilden storlek?
Det framgår kanske inte, men du måste sätta variabeln fn till din jpg-bild som ska kollas och sedan får du storleken i width och height-variablerna.Sv: Bilden storlek?
Något tips?
/TotteSv: Bilden storlek?
Vad gör tex *256 ?? är det så att alla gif bilder är 256?? har inte så stor kåll på sådant.
Hur som hälst funkar scriptet inte med mina jpg bilder men därimor med gif:arna..
Någon som vet något??
MVH
//StefanSv: Bilden storlek?
<!--
function getSize() {
var bildX = document.minbild1.width;
var bildY = document.minbild1.height;
alert(bildX + "x" + bildY);
}
//-->
</script>
<body onLoad="getSize();">
<img src="minbild.jpg" name="minbild1" border="0">
</body>
Typ... Du får väl modifera det efter behov.
Varför krångla tilldet?
Lycka till!
//Jonas "XorXaX"' Andersson
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨^¨Sv: Bilden storlek?