在iPhone中裁剪某些部分图像(某种形状)

时间:2011-11-14 14:00:07

标签: iphone crop

我想做的是:

我在iPhone屏幕上有一张图片。

现在,用户将手指放在图像上。就像他会制作圆形或三角形或正方形或星形。 (不用担心,移动会有闭环)。

现在,当用户完成移动意味着用户将使形状像圆形,三角形或任何东西,然后应该裁剪该部分图像。

有这个想法或与此有关的任何一个吗?

如有更多详情,请告诉我。

感谢。

2 个答案:

答案 0 :(得分:0)

你应该阅读Quartz2D Programming Guide,它解释了CoreGraphics如何帮助你做到这一点。

特别是有一个专门用于路径(NSBezierPaths),剪裁区域,图像蒙版等的部分。在你的情况下,可能是面具,但可能需要更多剪裁区域。

  

您还可以使用路径来约束路径边界内其他对象的绘制,实际上是创建剪切区域。

(您在文档中看到的捕获是Mac​​OSX窗口,但当然您可以在iPhone上完全相同,Quartz2D上的文档对于这两种环境都非常通用)

答案 1 :(得分:0)

这对我来说很有把戏

if (!self.pictureImageViewMasked) {

        UIBezierPath *path = [UIBezierPath bezierPath];
        [path moveToPoint:CGPointMake(0.0, 0.0)];

        [path addLineToPoint:CGPointMake(50.0, 0.0)];
        [path addLineToPoint:CGPointMake(50.0, 50.0)];
        [path addLineToPoint:CGPointMake(0.0, 50.0)];
        [path closePath];

        if (![[self.pictureImageView layer] mask]) {
            [[self.pictureImageView layer] setMask:[CAShapeLayer layer]];
        }
        [(CAShapeLayer*)[[self.pictureImageView layer] mask] setPath:[path CGPath]];

        self.pictureImageViewMasked = YES;

    }