情况:想要将有趣的相框应用于图像,并将相框实现为图层蒙版,是否可以通过在obj-C代码之外加载相框模板来动态构建图层蒙版,以便我可以在没有触及代码的情况下更改框架图层?
最终结果将是这样的。 http://a3.mzstatic.com/us/r1000/106/Purple/9e/b9/9b/mzl.rdrrpcgr.320x480-75.jpg,但照片边缘/边框是在应用外部动态加载的,而不是内置到应用中。
理想情况下,想在photoshop中轻松创建相框作为png文件,此处的黑色像素将允许完全透明..然后我可以在iOS应用中加载此相框,因为框架图层将允许下面的图层完全通过掩模层是黑色的地方...
答案 0 :(得分:2)
+ (UIImage*) maskImage:(UIImage *)image withMask:(UIImage *)maskImage {
CGImageRef maskRef = maskImage.CGImage;
CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
CGImageGetHeight(maskRef),
CGImageGetBitsPerComponent(maskRef),
CGImageGetBitsPerPixel(maskRef),
CGImageGetBytesPerRow(maskRef),
CGImageGetDataProvider(maskRef), NULL, false);
CGImageRef masked = CGImageCreateWithMask([image CGImage], mask);
return [UIImage imageWithCGImage:masked];
}
然后,您可以将此方法与从URL加载的UIImage一起使用。
URL可以提供不同的UIImage,也可以采用UIImageMask加载的参数。这是否回答了你的问题?