jpeg 问题(20分)

  • 主题发起人 主题发起人 fzzz_radium
  • 开始时间 开始时间
F

fzzz_radium

Unregistered / Unconfirmed
GUEST, unregistred user!
在用image显示数据库中的图像文件时出错,说bitmap is not valid.
调用的图像是jpeg,
blob1: TBlobStream; pic: TJpegImage;
blob1 := TBlobStream.Create(TBlobField(fieldByName('Photo')),bmRead);
if blob1.Size > 0 then
begin
pic := TJpegImage.Create;
pic := TJpegImage(TBlobField(fieldbyname('Photo')));
Image1.Picture.Bitmap.Assign(pic);//在这一步出错
end

怎么办?
我搜索过一些文章,说用了bitmap.assign就可以了,但是我试了。好像不行。
 
增加如下 :
var
bmp :TBitmap;
begin
bmp :=TBitmap.Create;
bmp.Assign(pic);
Image1.Picture.Bitmap.Assign(bmp);
bmp.Free;
end;
 
不过这样,我原先可以调用bmp的格式,现在就出错了,应该怎么办呢?
我支持两种格式bmp何jpg
 
既然jpeg都可以了,bmp还怎么会不行呢?
自己想想了。
 
好像不行,
我的修改如下:
blob1 := TBlobStream.Create(TBlobField(fieldByName('Photo')),bmRead);

if blob1.Size > 0 then
begin
pic := TJpegImage.Create;
pic.LoadFromStream(blob1);
bmp := TBitmap.Create;
bmp.Assign(pic);
Image1.Picture.Bitmap.Assign(bmp);
pic.Free;
bmp.Free;
end

出现,jpeg error #52
 
多人接受答案了。
 
后退
顶部