数据库中的BMP文件怎么转换成JPG格式?(50分)

  • 主题发起人 主题发起人 xknife
  • 开始时间 开始时间
X

xknife

Unregistered / Unconfirmed
GUEST, unregistred user!
现在用的数据库用的SQL,以前存储使用的是paradox数据库,图像格式是bmp,太大了,想在sql的新表中以JPG方式存储,该怎样进行?
paradox中存储BMP使用的是Graphi类型,SQL中的表是使用的imang类型,

最好付上详细代码。
 
http://www.delphibbs.com/delphibbs/dispq.asp?LID=259093

查询一下,多的是
 
哎! [:(]

我想知道有没有不用写成图形文件存储在硬盘上而是直接在数据库中
将BMP转换成JPG的方法吗?
有4G的BMP图形数据库呀,难道只有写成JPG图形文件再写到数据库中??
有没有第3方的控件能直接办到这?
 
不太清楚你的意思,
你的bmp是存放在数据库中的吗?,你要达到什么目的?

如果不用文件,用stream是一样的
如bitmap.loadformstream....
 
对,我的BMP就是存放在paradox的Graphi类型的字段中的,以前失误呀,
没想到N年后那数据如此之大,所以现在我才想另外存为JPG格式的,这样能减少很多的空间。
用stream的话程序该怎样写呢? 还有,怎样将转换后的值写到数据库中?
是不是table1.XXXX.value:=xxxx;
 
简单变一下就行了
procedure BMPToJPegDemo;
var
JPeg: TJPegImage;
Bmp: TBitmap;
ff: Tblobfield; //存放bmp的字段
mm: tmemorystream;
begin
Bmp := TBitmap.Create;
JPeg := TJPegimage.Create;
mm:=Tmemorystream.create;
try
ff.savetostream(mm);
Bmp.LoadFromstream(mm);
JPeg.Assign(Bmp);
JPeg.savetostream(mm);
dataset.edit;
ff.loadformstream(mm);
dataset.post;
finally
JPeg.Free;
mm.free;
Bmp.Free;
end;
end;
 
有点错

ff应为Tgraphicfield, 其它没问题
 

Similar threads

回复
0
查看
1K
不得闲
回复
0
查看
1K
不得闲
回复
0
查看
888
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部