如何知道表中存放的图象字段是何种图象?(100分)

  • 主题发起人 主题发起人 chl7802
  • 开始时间 开始时间
C

chl7802

Unregistered / Unconfirmed
GUEST, unregistred user!
如何知道表中存放的图象字段是何种图象?用TMemotream 读出Bold字段中读出图象之后不知是何种图象,没办法将其存成哪种格式的图象文件,请问如何识别?
 
应该是Bitmap的二进制流,用TBitmap.LoadFromStream()
 
读出图像后现保存下来。扩展名可以先不要。

去找找图像格式的说明。逐个比较!
 
久久:你好能告诉我哪个地方有图像格式的说明好吗?
 
大让人失望,怎么就是没人知道呢?想给分也没办法给!
 
Bitmap1:TBitmap;
...
TBitmap.LoadFromStream(memoStream);
If Bitmap.PixelFormat in
[pf1bit, pf4bit, pf8bit, pf15bit, pf16bit, pf24bit, pf32bit] then
showmessage('this image is Bitmap')
Else showmessage('this image is other Format Image');
end;
 
我是将字段中的内容保存到一个MemoryStream变量中,然后想知道里面到底是BMP、JPEG、ICON、GIF等格式的图像文件,以及非图像文件,哎想送出这100分为什么就这么难呢?
 
为什么就没谁肯要这100分呢?
 
难道还没有人知道!
 
你在存储的时候就该加一个图片类型字段!!
否则,请分析每个图片流的标识,以所有的图片格式去比较,看是哪一种了。
 
因为我做的是一个通用的数据库,只要是DBF、DB、ACCESS等数据库都可以读,
就是说,不知用户打开的是哪一个数据库并有些什么字段,我是用识别字段的类型。
所以没办法要求别人如何做的。如:
var Mjpegs:TJpegImage;
MBitmp:TBitmap;
MIcons:TIcon;
...........

if DBGrid1.SelectedField.DataType=ftBlob then
TBlobField(DBGrid1.SelectedField).SaveToStream(MTempStream);
if 类型是BMP的 MBitmp.LoadFromStream(MImageStream)
ShowImage.Picture.Assign(MBitmp);
是JPEG的 .........
Mjpegs.LoadFromStream(MImageStream);
ShowImage.Picture.Assign(Mjpegs);
ICON
MIcons.LoadFromStream(MImageStream);
ShowImage.Picture.Assign(MIcons);
等等。。。
有谁知道?
....................
 

Similar threads

后退
顶部