Stream.ReadBuffer(Buffer, 2);if Buffer = $4D42 then begin //BMP end else if Buffer = $D8FF then begin //JPEG end else if Buffer = $4947 then begin //GIF end else if Buffer = $050A then begin //PCX end else if Buffer = $5089 then begin //PNG end else if Buffer = $4238 then begin //PSD end else if Buffer = $A659 then begin //RAS end else if Buffer = $DA01 then begin //SGI end else if Buffer = $4949 then begin //TIFF end else begin //... end;
然后Image1.Picture.LoadFromFile('路径');
我就是这么做的,bmp和jpg图都可以显示出来.
jpg的,只能转成bmp处理完后,再转回jpg
现在的做法是,先转bmp,不管你是jpg还是bmp的,是bmp的用try,把异常包了。如果要是直接对文件分析知道是什么类型就好了
如果他是以FFD8开头的就说明是jpeg的图象了。
否则就是其他的文件。
Jpeg的文件都是以FFD8开头,以FFD9来结尾的。 ehom(?!)
我不在等着看你的示范代码嘛,呵呵
ExtractFileExt
晚点结贴
begin
//BMP
end
else if Buffer = $D8FF then
begin
//JPEG
end
else if Buffer = $4947 then
begin
//GIF
end
else if Buffer = $050A then
begin
//PCX
end
else if Buffer = $5089 then
begin
//PNG
end
else if Buffer = $4238 then
begin
//PSD
end
else if Buffer = $A659 then
begin
//RAS
end
else if Buffer = $DA01 then
begin
//SGI
end
else if Buffer = $4949 then
begin
//TIFF
end
else
begin
//...
end;