读书人

请教这是什么格式的图片

发布时间: 2012-03-25 20:55:16 作者: rapoo

请问这是什么格式的图片?
部分代码:

Delphi(Pascal) code
       try         idhttp.Get(PICURL,imagestream);       except         showmessage('连接失败,不能获得图片!');       end;       imagestream.Position:=0;       if imagestream.Size = 0 then           begin           imagestream.Free;           ShowMessage('错误');        end;       imagestream.ReadBuffer(Buffer,2);        imagestream.Position:=0;                 showmessage(IntToStr(Buffer));         if Buffer=$4D42 then          begin           ShowMessage('BMP');         end         else if Buffer=$D8FF then          begin           ShowMessage('JPG');         end         else if Buffer=$4947 then           begin           ShowMessage('GIF');         end         else if Buffer=$050A then         begin           ShowMessage('PCX');         end         else if Buffer=$5089 then         begin           ShowMessage('PNG');         end         else if Buffer=$4238 then         begin            ShowMessage('PSD');         end         else if Buffer=$A659 then         begin           ShowMessage('RAS');         end         else if Buffer=$DA01 then         begin           ShowMessage('SGI');         end         else if Buffer=$4949 then         begin           ShowMessage('TIFF');         end         else   //如是其他类型的文件的话,直接显示错误         begin           ShowMessage('ERR');         end;       finally       imagestream.Free;    end;



在showmessage(IntToStr(Buffer));的时候显示 35615
然后提示 ERR

证明获得图片不是程序中所列的图片类型,请教 使用showmessage(IntToStr(Buffer));的时候显示 35615的图片是什么图片呢?

if Buffer=???? then 这里????的值是什么呢?

(使用火狐浏览器查看这个图片是jpg图片,但实际jpg图片使用showmessage(IntToStr(Buffer));的时候显示 55551)




[解决办法]
你存储成文件,用看图软件看看能否识别,如果能,就可能是某些图片的变种,比如bmp现在就有多种格式
[解决办法]
不清楚,35615的十六进制表示为$8B1F 至于格式 我不清楚
[解决办法]
会不会是网站的图片防盗链,你读了跳转的网页,纯属猜测,仅作参考,呵呵
[解决办法]
会不会是JEPG
[解决办法]
探讨

会不会是JEPG

[解决办法]
直接用浏览器打开 PICURL 试试。
[解决办法]
探讨

直接用浏览器打开 PICURL 试试。

[解决办法]
可能网页防盗链,把接收到的数据保存为图片,看能不能被系统识别。

读书人网 >.NET

热点推荐