请看下面的测试代码:
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上,我没有打开图片,只是需要在上面画图形.如何解决这个问题?已经提过该问题,但是没有人回答,如能解决该问题,将另一贴上的分也给出:http://community.csdn.net/Expert/topic/5157/5157013.xml?temp=.4592707.
顶者有分!
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上,我没有打开图片,只是需要在上面画图形.如何解决这个问题?已经提过该问题,但是没有人回答,如能解决该问题,将另一贴上的分也给出:http://community.csdn.net/Expert/topic/5157/5157013.xml?temp=.4592707.
顶者有分!
begin
img.Picture.Bitmap.Width := 3000;
img.Picture.Bitmap.Height := 2000;
img.Picture.Bitmap.IgnorePalette := false ;
我用的已经被淘汰的机器(PII300 256MB)
img.Picture.Bitmap.IgnorePalette := false ;