我想在显示图片的候,使图片的大小缩小到和image1的大小一样大。但是提示错说:不能改变图片的大小,请问要怎么样才能改变呢???  
 
这是我写的代码,  运行后,提示错说:不能改变图片的大小。    
     image1.Picture.Graphic.Height:=  image1.Height;  
     image1.Picture.Graphic.Width  :=  image1.Width;  要怎样做才能改变图片的大小呢?

解决方案 »

  1.   

    改Image1的大小(image1.width, Image1.height),不用管图片。Image的stretch设为True,他会自动帮你调整图片。
      

  2.   

    这样不行啊,只能显示图片的部分啊,
    我要的是:把图片缩小到image1的大小一样而且图片的长宽比例不变
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      bitmap:TBitmap;
    begin
      //缩小到窗体
      Canvas.StretchDraw(rect(0,0,Image1.Width div 2,Image1.Height div 2),
                         Image1.Picture.Graphic);
      //缩小到文件
      bitmap:=TBitmap.Create;
      bitmap.Width:=Image1.Width div 2;
      bitmap.Height:=Image1.Height div 2;
      bitmap.Canvas.StretchDraw(bitmap.Canvas.ClipRect,Image1.Picture.Graphic);
      bitmap.SaveToFile('F:\1.bmp');
      bitmap.Free;
    end;