创建不规则形状的框架

时间:2012-05-09 16:58:52

标签: objective-c ios uiimageview uibezierpath image-clipping

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

enter image description here

1 个答案:

答案 0 :(得分: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
  4. 将您的CGPath添加到上下文中
  5. 使用CGContextClip剪辑您的上下文
  6. 或者,如果你不想弄乱路径(并且取决于这种技术是否适合你的情况,你对这个问题的描述很难说),那么使用图像掩码来实现它可能是值得的。你想要的效果。请参阅第一个链接,并在“位图图像和图像蒙版”下查看。