检查图像是否已在上下文中绘制[iPhone]

时间:2012-08-24 13:11:20

标签: iphone objective-c ios5 uiimage drawrect

我正在使用

UIImage *image = @"some image"

[image drawInRect:CGRectMake(50,50,100,100)];

我如何只检查绘制图像

if(cgrect(50, 50, 100, 100) doesn't have an image){
        // only then draw the image

  }

1 个答案:

答案 0 :(得分:2)

Quartz(iOS上的2D图形系统)使用图形合成的画家模型,并且在大多数情况下绘制到单层缓冲区。

这意味着,一旦将内容绘制到图形上下文,它就会变为上下文,其像素将成为场景的一部分。想象它就像画一幅画一样:一旦你在画布上放下油漆,就会掩盖下面的任何东西,并且与已经存在的油漆不可分割。

为了确定图像是否先前在图形上下文中绘制,您必须在上下文外部保持一些状态(例如BOOL didDrawImage。)您需要做的具体取决于您的目标。如果您告诉我们您要实现的目标,我们可以为此问题提供替代解决方案。