iOS中的自定义图像蒙版
我有掩盖图像的问题。 我做游戏“拼图”,必须制作自定义图像。 我发现并尝试了2种自定义裁剪方式:
- 使用
CALayer.mask
属性。 - 使用
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美分。 🙂