1

我创建了一个画布,其中显示了一个在越过边缘时被剪裁的图像。我可以用方形框架来做这件事,但是我想要使用的框架是下面的那个。有什么方法可以在框架内剪辑图像而不必在图像周围添加非透明方形边框,即只使用我已经绘制的黑线?(在 iPad 上)

在此处输入图像描述

4

1 回答 1

2

您需要使用 Core Graphics 和 Quartz 来处理这种剪辑/图形操作。 http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/Introduction/Introduction.html#//apple_ref/doc/uid/TP30001066

如果您使用的是 UIBezierPath,则可以在使用以下过程 http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_paths/dq_paths 后实现您的剪辑。 html#//apple_ref/doc/uid/TP30001066-CH211-TPXREF101

  1. 将您的 UIBezierPath 转换为 CGPath
  2. 将您的图像放入 CGContext
  3. 通过 CGContextAddPath 将您的 CGPath 添加到上下文中
  4. 使用 CGContextClip 剪辑你的上下文

或者,如果您不想弄乱路径(并且取决于此技术是否适合您的情况,您对问题的描述很难判断),可能值得使用图像遮罩来实现您的效果'在之后。请参阅第一个链接并查看“位图图像和图像蒙版”。

于 2012-05-13T03:17:58.630 回答