ciao a tutti
qualcuno sa come si trovano l'altezza e la lunghezza di un'immagine con asp? E' possibile?
grazie
ciao a tutti
qualcuno sa come si trovano l'altezza e la lunghezza di un'immagine con asp? E' possibile?
grazie
ste
Esempio.
Robycodice:function getSize(URL, width, height, depth, flType) dim PNGflType dim GIFflType dim BMPflType dim flTypeOf dim obj flTypeOf = "" flType = "(unknown)" Set obj = Server.CreateObject ("Microsoft.XMLHTTP") obj.open "GET", URL, False obj.send 'Here we have gotten the data for the image file getSize = False PNGflType = chr(137) & chr(80) & chr(78) GIFflType = chrb(71) & chrb(73) & chrb(70) BMPflType = chr(66) & chr(77) 'Here are the definitions for the image flTypes, I only support GIF and JPG but you can add others :) flTypeOf = GetBytes(obj, 0, 3) 'Find out what flType of image it is if flTypeOf = GIFflType then 'It is a GIF!!! flType = "GIF" strbuffer = getbytes(obj, 0, -1) 'get all of the data of the image width= lngconvert(midb(strbuffer, 7, 2)) Height = lngconvert(midb(strbuffer, 9, 2)) Depth = 2 ^ ((ascb(GetBytes(obj, 11, 1)) and 7) + 1) 'It is very important to note the ascB and midB, images ARE binary files getSize = True else strBuff = GetBytes(obj, 0, -1) ' get the entire file SizeofFile = lenb(strBuff) flgFound = 0 strTarget = chrb(255) & chrb(216) & chrb(255) flgFound = instrb(strBuff, strTarget) char = (midb(strbuff, 1, 3)) 'check out the first few characters if flgFound = 0 then 'not a jpg, and definatly not a GIF exit function end if flType = "JPG" lngPos = flgFound + 2 ExitLoop = false do while ExitLoop = False and lngPos < SizeofFile do while ascb(midb(strBuff, lngPos, 1)) = 255 and lngPos < SizeofFile lngPos = lngPos + 1 loop 'search through to find the data if ascb(midb(strBuff, lngPos, 1)) < 192 or ascb(midb(strBuff, lngPos, 1)) > 195 then lngMarkerSize = lngConvert2(midb(strBuff, lngPos + 1, 2)) lngPos = lngPos + lngMarkerSize + 1 else ExitLoop = True 'have everything we need end if loop if ExitLoop = False then 'oh no! Width = -1 Height = -1 Depth = -1 else Height = lngConvert2(midb(strBuff, lngPos + 4, 2)) Width = lngConvert2(midb(strBuff, lngPos + 6, 2)) Depth = 2 ^ (ascb(midb(strBuff, lngPos + 8, 1)) * 8) getSize = True end if end if set obj = Nothing end function
www.creamweb.it [v. 3.0]
:: Script ASP!
:: Web directory gratuita!
:: Campioni del mondo!
Grazie mille!!
l'ho appena provato ma mi da errore su questa riga
Set obj = Server.CreateObject ("Microsoft.XMLHTTP")
devo installare qualche cosa?
ste
mi sta venendo un dubbio... :master:
ma in URL devo mettere il percorso per arrivare all'immagine giusto?
es.
foto_prodotti/img1.jpg
ste
Come fai a chiamare questa funzione?
fatto!! riposto tutto il codice funzionante
grazie mille per l'aiuto!!![]()
<%@language=vbscript%>
<%
function GetBytes(objHTTP, offset, bytes)
Dim SizeofFile
on error resume next
SizeofFile = objHTTP.getResponseHeader("Content-Length")
'gets the size of the file from the HTTP header
if offset > 0 then 'start getting bytes NOT at the beginning
strbuff = midb(objHTTP.responseBody, offset, bytes)
end if
if bytes = -1 then ' Get All!
GetBytes = objHTTP.responseBody 'ReadAll
else 'start at front and go some odd distance
GetBytes = midb(objHTTP.responseBody, 1, bytes)
end if
end function
function lngConvert(strTemp)
lngConvert = clng(ascb(leftb(strTemp, 1)) + ((ascb(rightb(strTemp, 1)) * 256)))
end function
function lngConvert2(strTemp)
lngConvert2 = clng(ascb(rightb(strTemp, 1)) + ((ascb(leftb(strTemp, 1)) * 256)))
end function
'lngconvert was taken from Mike Shaffer's IMGSZ
function getSize(URL, width, height, depth, flType)
dim PNGflType
dim GIFflType
dim BMPflType
dim flTypeOf
dim obj
flTypeOf = ""
flType = "(unknown)"
Set obj = Server.CreateObject ("Microsoft.XMLHTTP")
obj.open "GET", URL, False
obj.send
'Here we have gotten the data for the image file
getSize = False
PNGflType = chr(137) & chr(80) & chr(78)
GIFflType = chrb(71) & chrb(73) & chrb(70)
BMPflType = chr(66) & chr(77)
'Here are the definitions for the image flTypes, I only support GIF and JPG but you can add others
flTypeOf = GetBytes(obj, 0, 3)
'Find out what flType of image it is
if flTypeOf = GIFflType then 'It is a GIF!!!
flType = "GIF"
strbuffer = getbytes(obj, 0, -1) 'get all of the data of the image
width= lngconvert(midb(strbuffer, 7, 2))
Height = lngconvert(midb(strbuffer, 9, 2))
Depth = 2 ^ ((ascb(GetBytes(obj, 11, 1)) and 7) + 1)
'It is very important to note the ascB and midB, images ARE binary files
getSize = True
else
strBuff = GetBytes(obj, 0, -1) ' get the entire file
SizeofFile = lenb(strBuff)
flgFound = 0
strTarget = chrb(255) & chrb(216) & chrb(255)
flgFound = instrb(strBuff, strTarget)
char = (midb(strbuff, 1, 3)) 'check out the first few characters
if flgFound = 0 then 'not a jpg, and definatly not a GIF
exit function
end if
flType = "JPG"
lngPos = flgFound + 2
ExitLoop = false
do while ExitLoop = False and lngPos < SizeofFile
do while ascb(midb(strBuff, lngPos, 1)) = 255 and lngPos < SizeofFile
lngPos = lngPos + 1
loop
'search through to find the data
if ascb(midb(strBuff, lngPos, 1)) < 192 or ascb(midb(strBuff, lngPos, 1)) > 195 then
lngMarkerSize = lngConvert2(midb(strBuff, lngPos + 1, 2))
lngPos = lngPos + lngMarkerSize + 1
else
ExitLoop = True 'have everything we need
end if
loop
if ExitLoop = False then 'oh no!
Width = -1
Height = -1
Depth = -1
else
Height = lngConvert2(midb(strBuff, lngPos + 4, 2))
Width = lngConvert2(midb(strBuff, lngPos + 6, 2))
Depth = 2 ^ (ascb(midb(strBuff, lngPos + 8, 1)) * 8)
getSize = True
end if
end if
set obj = Nothing
end function
URL = "http://www.sito.com/foto_prodotti/00-0630.JPG"
width = 1
height = 1
depth = 0
flType = "jpg"
getSize URL, width, height, depth, flType
Response.Write(width)
Response.Write(height)
%>
ste