读书人

无图片的Image控件从流中读图片时报ni

发布时间: 2012-02-19 19:43:39 作者: rapoo

无图片的Image控件从流中读图片时报nil错误怎么办
我用这语句从流中读图片时报Graphic为nil,应该怎么改呢image1.Picture.Graphic.LoadFromStream(zystream);
注意,这个image1是没图片的。

[解决办法]
不该吧,用Image1.Picture.Bitmap试试
[解决办法]
流里是什么图片,image支持的类型很有限
[解决办法]
GIF,PNG,这两个不支持
[解决办法]

Delphi(Pascal) code
procedure TForm1.ReadClick(Sender: TObject);   // 读取图片var  Stream:TMemoryStream;  Jpg:TjpegImage;begin  ADOQuery1.Close;  ADOQuery1.SQL.Text:='SELECT * FROM test3 where id =' + editId.Text;   // 查询图片  ADOQuery1.Open;  if not ADOQuery1.FieldByName('photo').IsNull then  begin    Stream:=TMemoryStream.Create ;    Jpg:=TjpegImage.Create ;    TBlobField(ADOQuery1.FieldByName('photo')).SaveToStream(Stream);    // 显示的转换为BlobField并保存到内存流    Stream.Position :=0;    jpg.LoadFromStream(Stream);    // 加载图片    image2.Picture.Assign(Jpg);  end  else  begin    image2.Picture :=nil;  end;    Stream.Free;     Jpg.Free;end;
[解决办法]
image.picture.assign(zystream);
[解决办法]
if zystream.size>10 then image1.Picture.Graphic.LoadFromStream(zystream);

[解决办法]
pngimage, GIFImg这两个单元哪里的

读书人网 >.NET

热点推荐