无图片的Image控件从流中读图片时报nil错误怎么办
我用这语句从流中读图片时报Graphic为nil,应该怎么改呢image1.Picture.Graphic.LoadFromStream(zystream);
注意,这个image1是没图片的。
[解决办法]
不该吧,用Image1.Picture.Bitmap试试
[解决办法]
流里是什么图片,image支持的类型很有限
[解决办法]
GIF,PNG,这两个不支持
[解决办法]
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这两个单元哪里的