我在ACCESS中利用TBlobStream存取图像,为什么每次读取时如果图片有一点大的话就会出现异常 exception class EJPEG with message 'JPEG error #53' 不知道这是怎么回事,以下是部分源码
sql := 'select fPhoto from tbBase where fCode = ''' + addbasic.Edit1.Text + '''';
query.Close;
query.SQL.Clear;
query.SQL.Add(sql);
query.Open;
//paramstr()获取一个命令行参数
if(query.FieldByName('fPhoto').IsNull = false) then
begin
try FileStream := TFileStream.Create(PCHAR(ExtractFilePath(ParamStr(0)) + 'temp\Display.jpg'),fmCreate);
//建立一个临时文件用于存放图像
BlobStream := TBlobStream.Create(TBlobField(Query.FieldByName('fPhoto')),bmRead);
FileStream.CopyFrom(BlobStream,BlobStream.Size);
FileStream.Free;
BlobStream.Free;
sleep(1000);
addbasic.Image1.Picture.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'temp\Display.jpg'); except
// query.First;
// addbasic.Image1.Picture.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'temp\Default.jpg');
// query.FieldByName('fPhoto').Assign(addbasic.Image1.Picture.Graphic);
showmessage('图像过大或图片格式有错误!');
exit;
end;
帮帮我
sql := 'select fPhoto from tbBase where fCode = ''' + addbasic.Edit1.Text + '''';
query.Close;
query.SQL.Clear;
query.SQL.Add(sql);
query.Open;
//paramstr()获取一个命令行参数
if(query.FieldByName('fPhoto').IsNull = false) then
begin
try FileStream := TFileStream.Create(PCHAR(ExtractFilePath(ParamStr(0)) + 'temp\Display.jpg'),fmCreate);
//建立一个临时文件用于存放图像
BlobStream := TBlobStream.Create(TBlobField(Query.FieldByName('fPhoto')),bmRead);
FileStream.CopyFrom(BlobStream,BlobStream.Size);
FileStream.Free;
BlobStream.Free;
sleep(1000);
addbasic.Image1.Picture.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'temp\Display.jpg'); except
// query.First;
// addbasic.Image1.Picture.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'temp\Default.jpg');
// query.FieldByName('fPhoto').Assign(addbasic.Image1.Picture.Graphic);
showmessage('图像过大或图片格式有错误!');
exit;
end;
帮帮我
解决方案 »
- 关于串口中提取数据的问题,应怎样的处理?
- sql insert的时候,使用了QuotedStr函数,下面这个字符串insert的时候为什么出错呢?
- 这个问题谁能帮我解决一下呢!
- 我想自定意消息却不知怎样做呀急呀
- 如何动态添加控件
- 如何处理对交叉数据表中出现的不同类型的字段的格式化问题。详情请进~~~回答有分。
- 大家碰到过这种问题么?自己写的东西安装到别人机器上经常出现未知软件异常之类的错误!郁闷~~
- DLL的难题,哪位高手帮忙解决?
- 两个button,button2.onclick如果复制button1.onclick事件~
- stdcall fastcall是什么返回方式?
- #### 昨天在公车上被盗 散分####
- 求助!!!急急!!
bmp:=bitmapstream.create(........);
bmp.loadfromstream(BlobStream);
addbasic.Image1.Picture.bitmap:=bmp;
你试试吧,思路是这样的.自己修改一下