代码之家  ›  专栏  ›  技术社区  ›  user431791

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

  •  0
  • user431791  · 技术社区  · 12 年前

    我正在使用

    UIImage *image = @"some image"
    

    [图像绘制InRect:CGRectMake(50,50,100,100)];

    如何仅检查绘图图像

    if(cgrect(50, 50, 100, 100) doesn't have an image){
            // only then draw the image
    
      }
    
    1 回复  |  直到 12 年前
        1
  •  2
  •   Jonathan Grynspan    12 年前

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

    这意味着,一旦内容被绘制到图形上下文中,它就会被展平到上下文中,其像素就会成为场景的一部分。把它想象成一幅画:一旦你把颜料放在画布上,它就会掩盖下面的任何东西,并与已经存在的颜料密不可分。

    为了确定图像之前是否是在图形上下文中绘制的,您必须保持上下文外部的某些状态(例如 BOOL didDrawImage )你到底需要做什么取决于你的目标。如果你告诉我们你正在努力实现什么,我们可能能够为这个问题提供替代解决方案。