我写的函数是这样的:
function TForm1.GetImage(url: string): boolean;
var
    MemoryStream:TMemoryStream;
    Idhttp:TIdhttp;
begin
    try
        MemoryStream:=TMemoryStream.Create ;
       // Memorystream.Position :=0;
        Idhttp:=Tidhttp.Create(nil);
        Idhttp.Get(url,MemoryStream);
        self.Image1.Picture.Graphic.LoadFromStream(MemoryStream);
    finally
        MemoryStream.Free ;
        Idhttp.Free;
    end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
   
    GetImage('http://images.sogua.com/uploadserver/Image/2007/1030/010643187gtopdzjj.jpg');//选择其中一 部分end;end.
我的图片都是jpg格式的..
编译是在 self.Image1.Picture.Graphic.LoadFromStream(MemoryStream);是出错了..出错的提示好象是地址越界了..
我是初学delphi的,好心的哥哥姐姐帮帮忙呀..

解决方案 »

  1.   

    uses
      jpeg;function TForm1.GetImage(url: string): boolean;
    var
      MemoryStream:TMemoryStream;
      Idhttp:TIdhttp;
      Img: TJPEGImage;
    begin
      MemoryStream:=TMemoryStream.Create   ;
      Idhttp:=Tidhttp.Create(nil);
      Img := TJPEGImage.Create;
      try
        Idhttp.Get(url,MemoryStream);
        MemoryStream.Position := 0;
        Img.LoadFromStream(MemoryStream);
        Image1.Picture.Bitmap.Assign(Img);
      finally
        MemoryStream.Free   ;
        Idhttp.Free;
        Img.Free;
      end;
    end;