Salve a tutti, ho recuperato questo codice in rete per sapere la larghezza e l'altezza di un'immagine salvata in un db. Bene il codice funziona alla grande finchè si tratta di recuperare la larghezza (w), ma quando voglio ricavare l'altezza (h) mi restituisce sempre il valore 36, PERCHE'??????
Qualcuno lo conosce, sapete se c'è un'errore?
Grazie
codice:
	function GetBytes(flnm, offset, bytes)
	on error resume next
	Set objFSO = CreateObject("Scripting.FileSystemObject")
	Set objFTemp = objFSO.GetFile(flnm)
	lngSize = objFTemp.Size
	set objFTemp = nothing
	fsoForReading = 1
	Set objTextStream = objFSO.OpenTextFile(flnm, fsoForReading)
	if offset > 0 then
	strBuff = objTextStream.Read(offset - 1)
	end if
	if bytes = -1 then
	GetBytes = objTextStream.Read(lngSize)
	else
	GetBytes = objTextStream.Read(bytes)
	end if
	objTextStream.Close
	set objTextStream = nothing
	set objFSO = nothing
	end function
	
	function lngConvert(strTemp)
	lngConvert = clng(asc(left(strTemp, 1)) + ((asc(right(strTemp, 1)) *256)))
	end function
	
	function lngConvert2(strTemp)
	lngConvert2 = clng(asc(right(strTemp, 1)) + ((asc(left(strTemp, 1)) *256)))
	end function
	
	function gfxSpex(flnm, width, height, depth, strImageType)
	gfxSpex = False
	strType = GetBytes(flnm, 0, 3)
	strBuff = GetBytes(flnm, 0, -1)
	lngSize = len(strBuff)
	flgFound = 0
	strTarget = chr(255) & chr(216) & chr(255)
	flgFound = instr(strBuff, strTarget)
	if flgFound = 0 then
	exit function
	end if
	strImageType = "JPG"
	lngPos = flgFound + 2
	ExitLoop = false
	do while ExitLoop = False and lngPos < lngSize
	do while asc(mid(strBuff, lngPos, 1)) = 255 and lngPos < lngSize
	lngPos = lngPos + 1
	loop
	if asc(mid(strBuff, lngPos, 1)) < 192 or asc(mid(strBuff, lngPos,1))> 195 then
	lngMarkerSize = lngConvert2(mid(strBuff, lngPos + 1, 2))
	lngPos = lngPos + lngMarkerSize + 1
	else
	ExitLoop = True
	end if
	loop
	if ExitLoop = False then
	Width = -1
	Height = -1
	Depth = -1
	else
	Height = lngConvert2(mid(strBuff, lngPos + 4, 2))
	Width = lngConvert2(mid(strBuff, lngPos + 6, 2))
	Depth = 2 ^ (asc(mid(strBuff, lngPos + 8, 1)) * 8)
	gfxSpex = True
	end if
	end function


	Set objFSO = CreateObject("Scripting.FileSystemObject")
	nomefile = Recordset8("Immagine")
	Set objF = objFSO.GetFile(Server.MapPath(nomefile))
	
	if gfxSpex(objF.Path, w, h, c, strType) = true then
		pdf.SetXY 112,80
		pdf.setfillcolor 255,255,255
		pdf.Cell 0,0, "MISURE :" &h
	end if	
	set objF = nothing
	set objFSO = nothing