【问题标题】:Erasing Parts of Images iOS擦除部分图像 iOS
【发布时间】:2016-01-06 00:00:42
【问题描述】:

对于我正在进行的项目,我有一张图片。出于测试目的,我只使用 100 x 100 像素的红色正方形。

我想要做的是能够定义不渲染的图像部分。例如,假设我想擦除红色方块中间的一个圆圈。如果这样做了,我们应该看到红色正方形,减去已擦除的圆圈以及该正方形后面的任何内容(圆圈被擦除的位置)。

除了将每个像素存储在二维数组中并以这种方式处理之外,我不知道该怎么做。在最终实现中,图像将远大于 100 像素,因此这似乎效率低下并且会消耗大量内存。

如果有人有任何替代解决方案(或改进我正在考虑的解决方案的方法/例如对 10000 x 10000 像素的图像有效的示例),我们将不胜感激。

【问题讨论】:

    标签: ios objective-c image


    【解决方案1】:

    考虑使用蒙版和“目的地输出”混合模式。使用它,您可以使用UIBezierPaths 在图像上绘制一个蒙版,然后“剪掉它们”。不久前,我做了一些非常相似的事情,试图从 UIView 中剪下一个圆圈,作为项目周围的工具提示环。

    Mask a UIView with a cut-out circle

    https://www.belightsoft.com/products/arttext/ATHelp/layers_blending.html#destination_out

    【讨论】:

      猜你喜欢
      • 2016-02-18
      • 1970-01-01
      • 2010-12-02
      • 2017-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多