大家好!我又来了 有一小问题: 我在表中存入了三张不同的图片的路径,显示时我该怎样把这三张图片显示在dbctrlgrid中?我用以下方法只显示最后一张图片:lfphoto.close; lfphoto.open; lfphoto.first; while not lfphoto.eof do begin image2.Picture.LoadFromFile(lfphoto.fieldbyname('图片路径').asstring); lfphoto.next; end;
你为什么不用DBImage呢? 让它显示当前记录的图片,如果你一定要把所有图片显示出来,那你只能动态生成Image对象了var mypix:Timage; beginwhile not lfphoto.eof do .... mypix:=timage.create(nil); with mypix do begin left:=....; height:=...; width:=...; top:=...; Picture.LoadFromFile(lfphoto.fieldbyname('图片路径').asstring); end; .... lfphoto.next; end; ....
你可以在下面的过程下代码呀 procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField); begin Image1.Picture.LoadFromFile(TADOQuery1['图片']); end;
小弟听别人说可以将bmp格式的图片转换成jpeg格式的那样存储量就小得多了 而且可以用dbimage来显示; 但小弟不知怎样转换? 1:存入 if ODlgsy.Execute then begin (query1.FieldByName('图标') As TBlobField).LoadFromFile(ODlgsy.FileName);//这里不对,该怎样转换? 2:读出 var FStream: TStream; FJpeg: TJPEGImage;FJpeg:=TJPEGImage.Create; FStream:=TBlobStream.Create(TBlobField(Table1.FieldByName('pic')),bmRead);tryFJpeg.LoadFromStream(FStream);image1.Picture.Assign(FJpeg); finallyFStream.Free end
有一小问题:
我在表中存入了三张不同的图片的路径,显示时我该怎样把这三张图片显示在dbctrlgrid中?我用以下方法只显示最后一张图片:lfphoto.close;
lfphoto.open;
lfphoto.first;
while not lfphoto.eof do
begin
image2.Picture.LoadFromFile(lfphoto.fieldbyname('图片路径').asstring);
lfphoto.next;
end;
起码要用3个image
你用一个image 读了3次最后只剩最后一副了
我该怎么做?怎样动态生成image对象;生成后该怎样做?
您的意思是有多少个图片,就要有多少个image对吗?
让它显示当前记录的图片,如果你一定要把所有图片显示出来,那你只能动态生成Image对象了var mypix:Timage;
beginwhile not lfphoto.eof do
....
mypix:=timage.create(nil);
with mypix do
begin
left:=....;
height:=...;
width:=...;
top:=...;
Picture.LoadFromFile(lfphoto.fieldbyname('图片路径').asstring);
end;
....
lfphoto.next;
end;
....
图片显示不出来,在dbctrlgrid中全是空白的
但在其上放一个image然后在程序中直接指定pictue.loadfromfile(lfphoto.fieldbyname('图片路径').asstring);可以显示出来
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
Image1.Picture.LoadFromFile(TADOQuery1['图片']);
end;
而且可以用dbimage来显示;
但小弟不知怎样转换?
1:存入
if ODlgsy.Execute then
begin
(query1.FieldByName('图标') As TBlobField).LoadFromFile(ODlgsy.FileName);//这里不对,该怎样转换?
2:读出
var
FStream: TStream; FJpeg: TJPEGImage;FJpeg:=TJPEGImage.Create;
FStream:=TBlobStream.Create(TBlobField(Table1.FieldByName('pic')),bmRead);tryFJpeg.LoadFromStream(FStream);image1.Picture.Assign(FJpeg); finallyFStream.Free
end