请看下面的测试代码:
var  PM : TPenMode;
  R: TRect ;
begin
  img.Picture.Bitmap.IgnorePalette := false ;
  img.Width := 3000; //改变时报错,如果该值较小例如2000则没有问题
  img.Height := 2000;//改变时报错,如果该值较小例如1000则没有问题
  R.Left := 650 ;
  R.Top := 850 ;
  R.Right := 700 ;
  R.Bottom := 900 ;
 // img.Picture.Bitmap.IgnorePalette := true ;
  with img.Canvas do
  begin
    PM := Canvas.Pen.Mode;
    Pen.Mode := pmNotXor;
    pen.Color :=  clRed ;
    Brush.Color := clRed ;
    Ellipse(R);
    Pen.Mode := PM;
  end;
end;我知道是下面两行导致,
img.Width := 3000; //改变时报错,如果该值较小例如2000则没有问题
img.Height := 2000;//改变时报错,如果该值较小例如1000则没有问题
原因是3000*2000*3(颜色值) = 18000000字节,肯定报存储空间不足.在这个IMG上,我没有打开图片,只是需要在上面画图形.如何解决这个问题?