求救:数据库在处理.BMP图片的时候出错了,哪位前辈救救偶~!

devil_angel 2005-07-07 10:27:21
var bmp1:TBitmap;
jpg1:TJpegImage;
begin
clientdm.OpenPictureDialog1.DefaultExt:=GraphicExtension(TJpegimage);
if clientdm.OpenPictureDialog1.Execute then
begin
bmp1:=TBitmap.Create;
jpg1:=TJpegImage.Create;
try
jpg1.LoadFromFile(clientdm.OpenPictureDialog1.FileName);
bmp1.Assign(jpg1);
suidbImage1.Picture.Bitmap.Assign(bmp1);
finally
jpg1.Free;
bmp1.Free;
end;
end;
这样的程序加载.BMP图片就出错了。。大概错在jpg1.LoadFromFile(clientdm.OpenPictureDialog1.FileName);请问怎么改这样的程序
...全文
166 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Open2ye 2005-07-08
  • 打赏
  • 举报
回复
哈哈.这个问题我以前出过.
我以前好像是因为.
我存数据库用了JPG流
当对image另存为的时候,文件的扩展名是 JPG 但是 实质是 bmp
所以再次读入时出现
JPEG error #52
我的解决办法.
再读入错误时
先把原有的文件 另存为 c:\a.bmp
再读C:\a.bmp
再删除C:\a.bmp

coffee36 2005-07-08
  • 打赏
  • 举报
回复
在存的时候不管是BMP还是JPG统一转换成JPG存入数据库,然后再显示不就行了。这样做也很省时间呀
GARNETT2183 2005-07-07
  • 打赏
  • 举报
回复
我试了.跟你一样...但没有出错...
bmp1:TBitmap;
jpg1:TJpegImage;
begin
//OpenPictureDialog1.DefaultExt:=GraphicExtension(TJpegimage);
if OpenPictureDialog1.Execute then
begin
bmp1:=TBitmap.Create;
jpg1:=TJpegImage.Create;
try
jpg1.LoadFromFile(OpenPictureDialog1.FileName);
bmp1.Assign(jpg1);
Image1.Picture.Bitmap.Assign(bmp1);
finally
jpg1.Free;
bmp1.Free;
end;
end;
devil_angel 2005-07-07
  • 打赏
  • 举报
回复
错误提示是:JPEG error #52
devil_angel 2005-07-07
  • 打赏
  • 举报
回复
应该不是这个问题。。。偶加载.JPG的图片都正常。。

就是加载.BMP图片的时候会出错

大概错在jpg1.LoadFromFile(clientdm.OpenPictureDialog1.FileName);
GARNETT2183 2005-07-07
  • 打赏
  • 举报
回复
bmp1.Picture.Assign(Jpg1.Picture);
shenlanzz 2005-07-07
  • 打赏
  • 举报
回复
你可以再打开图片的情况下判断一下。BMP还是。JPG
然后再写相应的代码
BMP可以直接存到数据库的
devil_angel 2005-07-07
  • 打赏
  • 举报
回复
你的是IMAGE。。偶的是DBIMAGE。。。需要把图片存到数据库里面

2,495

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧