>>控件一:dbimage控件只能显示bmp的。能否有个显示jpg的的dbimage控件(必须的for d6的)
dbimage不支持jpg,写点代码就行了,不用其他控件。
来自zhangkan (2001-11-5 19:16:00)
不知你的图形文件是什么格式,若是BMP,就可以直接存取,照理说不会出什么错.若你是其它
什么格式,你就得转一下格式,下面是一个数据库中存JPG的例子.实际上,你发问前先检索一
下,这儿有许多类似的答案.
你照着下面的方法就行.另外,你是否有一个DBIMAGE控件?因为DBIMAGE控件只能打开BMP格式
的图片,所以,你直接读JPG的要出问题.要先转化一下格式就可.另外,在uses部分要加上Jpeg;
如
BImage.Picture.bitmap.assign(JpgPic);//加在下面代码中,DBIMAGE就可显示JPG图片了.
var tempStream:TMemoryStream;
JpgPic:TJpegImage;
begin
try
JpgPic:=TJpegImage.Create;
tempStream:=TMemoryStream.Create;
tempStream.clear;
adoquery1.Append;
JpgPic.LoadFromFile(openpicturedialog1.filename);
DBImage.Picture.bitmap.assign(JpgPic);//若你想DBIMAGE显示JPG图像就可这样.
JpgPic.SaveToStream(tempStream);
tblobfield(adoquery1.FieldByName('image')).LoadFromStream(tempStream) ;
adoquery1.Post;
finally
JpgPic.Free;
tempStream.Free;
end;
这是保存的方法,读取图片也要转换一下才行.