我把图片从数据库里取出来(.jpg),想保存到objectlist中,然后再调用objectlist中的图片,一张一张分别显示在image控件中,请问怎么做啊?
解决方案 »
- 怎样利用AT命令播放声音
- 我调用自己编写的DLL库中的函数为什么会出现地址异常????
- 高分请教-----mshtml里,框架的问题
- 为什么不可以单步显示出运行结果
- ★★TSQLConnection如何用代码动态设置数据库密码?
- adoQuery用Locate怎样查询日期时间?
- 如何从并口以高速发送信号?
- 请问深圳明华的读卡机,想在网页上读写IC卡,如何做?控件?
- 我是一位非计算机专业的毕业生,现正在编写数据库开发程序,但我很想补上欠缺的理论知识,请大家帮我推荐几本书.最好有易到难.
- Tmessage与Tmsg有何分别?
- 100分求TWebBrowser模拟刷新网页
- 一个烦恼的问题关于exe源码转成dll
procedure SavePicture(img:TImage);
var
JPGImg: TJPEGImage;
ADOData: TADOBlobStream;
begin
JPGImg := TJPEGImage.Create;
ADOData :=
TADOBlobStream.Create(TBlobField(DataModule1.PatientInfoTable.FieldByName('图像1')), bmWrite);
try
JPGImg.Assign(img.Picture.Bitmap);
JpgImg.SaveToStream(ADOData);
finally
JPgImg.Free;
ADOData.Free;
end;
end; 读取代码如下:
procedure LoadPicture(img: TImage);
var
PicFieldName: string;
PicData: TADOBlobStream;
Pic: TJPEGImage;
begin
case img.Tag of
0: PicFieldName := '图像1';
1: PicFieldName := '图像2';
2: PicFieldName := '图像3';
3: PicFieldName := '图像4';
end;
if not DataModule1.PatientInfoTable.FieldByName(PicFieldName).isNUll then
begin
PicData :=
TADOBlobStream.Create(TBlobField(DataModule1.PatientInfoTable.FieldByName(PicFieldName)), bmRead);
//重点在下面
pic := TJPEGImage.Create;
try
pic.LoadFromStream(PicData);
img.Picture.Assign(pic);
finally
PicData.Free;
pic.Free;
end;
end
else
img.Picture.Assign (nil);
end;
Jpg := TJpegImage.Create;
Jpg.LoadFromFile(FileName);
ADOQuery1.FieldByName('图片').Assign(JPG)
JPG.Free;
读取:
Jpg := TJpegImage.Create;
Jpg.Assign(ADOQuery1.FieldByName('图片'));
Image1.Picture.Bitmap :=Jpg2Bmp(Jpg);
Jpg.Free; function Jpg2Bmp(Jpg: TJpegImage): TBitmap;
begin
Result := nil;
if Assigned(Jpg) then begin
Result := TBitmap.Create;
Jpg.DIBNeeded;
Result.Assign(Jpg);
end;
end; function Bmp2Jpg(Bmp: TBitmap; Quality: Integer = 100): TJpegImage;
begin
Result := nil;
if Assigned(Bmp) then begin
Result := TJpegImage.Create;
Result.Assign(Bmp);
Result.CompressionQuality := Quality;
Result.JPEGNeeded;
Result.Compress;
end;
end;