iOS中的自定义图像蒙版

我有掩盖图像的问题。 我做游戏“拼图”,必须制作自定义图像。 我发现并尝试了2种自定义裁剪方式:

  1. 使用CALayer.mask属性。
  2. 使用UIImage.mask属性。

在第一个选项我创build我的自定义path,然后将其分配给CAShapeLayer.path属性,然后将CAShapeLayer分配给CALayer.mask属性。 最后,我有自定义裁剪图像。 在第二个选项中,我首先使用CGImageMaskCreate()方法(我使用以前创build的黑色面具图像拼图),然后CGContextClipToMask() 。 在任何一个选项我都有性能问题(主要是当我裁剪图像成16个谜题,并在屏幕上拖动)。

有没有其他的方法来自定义的方式来裁剪图像。 (我不知道如何解决性能问题)。 提前致谢。

有很多的UIImage类别,你可以使用它。 给我一下,我会在这里发布一些链接:

尝试这个:

 -(UIImage *)imageByCropping:(UIImage *)imageToCrop toRect:(CGRect)rect { CGImageRef imageRef = CGImageCreateWithImageInRect([imageToCrop CGImage], rect); UIImage *cropped = [UIImage imageWithCGImage:imageRef]; CGImageRelease(imageRef); return cropped; } ... UIImage *temp_image = [self imageByCropping:original_image toRect:clipping_rectangle]; 

也许你应该考虑在一个alpha背景的新图像中绘制图像,透视当前的背景。 我的意思是:拼图块内的所有像素:正常颜色,拼图块外的所有像素=透明。 然后尝试将其融入新的背景或透支。

只是我2美分。 🙂

Interesting Posts