我怎么把数据库的图片用image显示,谢了先
var
  imagestream: TMemoryStream;
  jpg: TJPEGImage;begin
 imagestream := TMemoryStream.Create;
 jpg := TJPEGImage.Create;
 try
  TBlobField(ADODataSet1.FieldByName('aaa')).SaveToStream(imagestream);
  imagestream.Position := 0;
  imagestream.SaveToFile('a.jpg');
   jpg.LoadFromStream(imagestream);
  //jpg.SaveToFile('c:\a.jpg');
  Image1.Picture.LoadFromFile('c:\a.jpg');
 finally
  imagestream.Free;
 end;
end;
我已引用jpeg单元可是一直有错5555555

解决方案 »

  1.   

    用DBIMAGE啊,连接到DATASOURCE和相应字段即可
      

  2.   

    var
      imagestream: TMemoryStream;
      jpg: TJPEGImage;begin
     imagestream := TMemoryStream.Create;
     jpg := TJPEGImage.Create;
     try
      TBlobField(ADODataSet1.FieldByName('aaa')).SaveToStream(imagestream);
      imagestream.Position := 0;
      imagestream.SaveToFile('a.jpg');
       jpg.LoadFromStream(imagestream);
      //jpg.SaveToFile('c:\a.jpg');
      sleep(300);
      Image1.Picture.LoadFromFile('c:\a.jpg');
     finally
      imagestream.Free;
     end;
    end;
    怎么样???你得等imagestream写完文件才行啊
      

  3.   

    楼上的老兄,jpeg error #52...5555555
      

  4.   

    3.图象文件从数据库里面读取;
    var
      str1:Tmemorystream;
    begin
      str1:=Tmemorystream.Create;
      str1.Position:=0;
      Tblobfield(adoquery3.FieldByName('正文')).savetostream(str1);
      str1.SaveToFile('c:\page.jpg');
      str1.Free;
      image1.Picture.LoadFromFile('c:\page.jpg');
      statictext20.Caption:='共'+inttostr(adoquery3.RecordCount)+'页正文,当前为'+inttostr(adoquery3.recno)+'页';
      image1.Width:=image1.Picture.Graphic.Width;
      image1.Stretch:=true;
    end;
    当然,在delphi中,Timage的picture属性默认的图象文件是.bmp格式,但是为了处理方便以及存储方面的考虑,我们使用的图片格式是.jpg,因此需要在unit中添加jpeg单元,这样Timage控件就可以读.jpg格式的图片了。
      

  5.   

    解决了,
    var
      imagestream: TMemoryStream;
      jpg: TJPEGImage;begin
     imagestream := TMemoryStream.Create;
     jpg := TJPEGImage.Create;
     try
      TBlobField(ADODataSet1.FieldByName('aaa')).SaveToStream(imagestream);
      imagestream.Position := 0;
      //imagestream.SaveToFile('c:\a.jpg');
      Image1.Picture.Bitmap.LoadFromStream(imagestream);
     finally
      imagestream.Free;
     end;
    谢谢各位了