终于自己解决了,很简单的问题,自己真是菜鸟。TImage的Width和Height的根本没有限制,大小取决于放置它的容器,只要把Image放在TScrollBox上面,直接控制TScrollBox大小即可。
tianxin7131:
Image是无法直接从数据库读取图片的,通过内存流转换,从流载入图片会根据当初存入的图片类型有所不同。下面是我的一些代码,保存和读取图片的方法,或许对你有帮助:
var Str:TMemoryStream;
begin
Str:=TMemoryStream.Create;
Case SaveRead Of ////把image里的图片用流形式保存到数据库
0: Begin
If Image1.Picture.Graphic<>Nil Then
Begin
Image1.Picture.Graphic.SaveToStream(Str);
Str.Position:=0;
TblobField(DataSetSour.FieldByName(FieldString)).LoadFROMStream(Str);
End
Else
DataSetSour.FieldByName(FieldString).Value:=Null;
End;
1:
Begin
If DataSetSour.FieldByName(FieldString).Value ='' then //从数据库中取出流图片到Image
Begin
image1.Picture.Graphic:=Nil;
Exit;
End
Else
Begin
Try
Str.Position:=1;
TblobField(DataSetSour.FieldByName(FieldString)).SaveToStream(Str);
Str.Position:=1;
Image1.Picture.Graphic:=Nil;
Image1.Picture.Graphic:=TJpegImage.Create;
Image1.Picture.Graphic.LoadFROMStream(Str);
Except
TblobField(DataSetSour.FieldByName(FieldString)).SaveToStream(Str);
Str.Position:=1;
Image1.Picture.Graphic:=Nil;
Image1.Picture.Bitmap:=Tbitmap.Create;
Image1.Picture.Bitmap.LoadFROMStream(Str);
End;
End;
End;
End;
Str.Free;
end;