在USES中加入JPEG,就可以在IMANGE中显示图片了。

解决方案 »

  1.   

    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,JPEG;//注意这里
    image1.picture.loadfromstream(ms);//这不要Bitmap了
      

  2.   

    jpeg已經加了,但
    image1.picture.loadfromstream(ms)編譯不過
      

  3.   

    var
      MS_JpegStream:TMemoryStream;
      M_BitMap:TBitMap;
      M_Jpeg:TJpegImage;
    begin
      try
        MS_JpegStream:=TMemoryStream.Create;
        M_BitMap:=TBitMap.Create;
        M_Jpeg:=TJpegImage.Create;
        if extractfileext(filename)='.bmp' then
          begin
            M_BitMap.LoadFromFile(filename);
            M_Jpeg.Compress;
            M_Jpeg.Assign(M_BitMap);
          end
        else if extractfileext(filename)='.jpg' then
          begin
            M_Jpeg.LoadFromFile(filename);
          end;
        M_Jpeg.SaveToStream(MS_JpegStream);
        image1.Picture.Graphic:=nil;
        MS_JpegStream.Position:=0;//!!!
        image1.Picture.Graphic.LoadFromStream(MS_JpegStream);    
      finally
        MS_JpegStream.Free;
        M_BitMap.Free;
        M_Jpeg.Free;
      end;
      

  4.   

    详细可以看看这里的代码:
    http://www.csdn.net/expert/topic/973/973247.xml?temp=.441189
      

  5.   

    zdcnow(磁效应) 
    image1.Picture.Graphic.LoadFromStream(MS_JpegStream);    
     到了這句就報錯了
      

  6.   

    Help_ycf(不懂):
    对filename处理一下就可以。
    比如:
       filename:=openpicturedialog1.FileName;
    filename是一个图象文件的文件名。
      

  7.   


    这样可以了,不好意思,刚才写少了一句:
    procedure TForm1.Button3Click(Sender: TObject);
    var
      MS_JpegStream:TMemoryStream;
      M_BitMap:TBitMap;
      M_Jpeg:TJpegImage;
    begin
       openpicturedialog1.Execute;
       filename:=openpicturedialog1.FileName;
      try
        MS_JpegStream:=TMemoryStream.Create;
        M_BitMap:=TBitMap.Create;
        M_Jpeg:=TJpegImage.Create;
        if extractfileext(filename)='.bmp' then
          begin
            M_BitMap.LoadFromFile(filename);
            M_Jpeg.Compress;
            M_Jpeg.Assign(M_BitMap);
          end
        else if extractfileext(filename)='.jpg' then
          begin
            M_Jpeg.LoadFromFile(filename);
          end;
        M_Jpeg.SaveToStream(MS_JpegStream);
        image1.Picture.Graphic:=nil;
        image1.Picture.Graphic:=TJpegImage.Create;//写少了这里,不好意思
        MS_JpegStream.Position:=0;//!!!
        image1.Picture.Graphic.LoadFromStream(MS_JpegStream);
      finally
        MS_JpegStream.Free;
        M_BitMap.Free;
        M_Jpeg.Free;
      end;
    end;