我使用如下语句载入图片到Image中,Image1放在一个ScrollBox中,Image1的属性如下:Top和Left都为0,AutoSize为true,Align属性设置为alNone。    if OpenPictureDialog1.Execute then
      Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);现在遇到一个问题:当载入的图片大小小于ScrollBox的时候,载入图片之后,我想清空Image1中的内容(用白色清空),语句如下:    Image1.Canvas.Brush.Color := clWhite;
    Image1.Canvas.Rectangle(Image1.ClientRect);但是清空后Image1的大小变成和它所载入的图片一样大了。我想用Image1.width:=xxx和Image1.height:=xxx来改变它的大小,但是不成功,请问我应该怎么改呢?谢谢了!!

解决方案 »

  1.   

    Img1.Picture.Bitmap.FreeImage;
    Img1.Picture.Bitmap :=nil;
    然后再修改img1的width和height
      

  2.   

    To hongqi162(失踪的月亮):我按照你的方法做了之后,下面这两条语句就没有起到作用了    Image1.Canvas.Brush.Color := clWhite;
        Image1.Canvas.Rectangle(Image1.ClientRect);感觉好象是Iamge1的Canvas已经被释放了。Image1的颜色变成了和灰色,和它下面ScrollBox的颜色一样。
      

  3.   

    //释放Bitmap内容
      Image1.Picture.Bitmap.FreeImage;
      Image1.Picture.Bitmap :=nil;
      //重新设置大小
      Image1.Picture.Bitmap.Width := 200;
      Image1.Picture.BitMap.Height := 200;
      //清空画布
      Image1.Canvas.Brush.Color := clWhite;
      Image1.Canvas.Rectangle(Image1.ClientRect);