2012-05-09 35 views
1

我已经创建了一个画布,在其中显示一个图像,当它通过边缘时被剪切。我可以用方形的框架做到这一点,但是我想用的框架是下面的框架。有没有什么方法可以在图像内部剪切图像,而无需在图像周围添加不​​透明的方形边框,即仅使用我已绘制的黑色线条? (在iPad上)创建一个不规则形状的框架

enter image description here

回答

2

你需要使用核芯显卡和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剪辑您的上下文

另外,如果你不想与路径搞乱(并根据这种技术是否适合你的情况,你的问题的描述使得它很难说),它可能会使用图像掩码是值得的达到你以后的效果。查看第一个链接,然后查看“位图图像和图像蒙版”。