2012-02-21 38 views
1

情况:想要将有趣的相框应用于图像,并且相框被实现为图层蒙版,是否可以通过加载动态构建图层蒙版obj-C代码之外的相框模板,这样我就可以在不触摸代码的情况下更改框架层?iOS加载动态图层蒙版(例如在代码外提供图层蒙版)

最终结果会是这样的。 http://a3.mzstatic.com/us/r1000/106/Purple/9e/b9/9b/mzl.rdrrpcgr.320x480-75.jpg,除了照片边缘/框架动态加载到应用程序之外,而不是内置到应用程序中。

理想情况下,想要轻松地在Photoshop中创建一个相框作为PNG文件,在这里黑色像素将允许完全透明..然后我可以在iOS应用程序中加载这个相框,因为框架层将允许图层下面,以充分经过的地方遮罩层是黑...

回答

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。这回答了你的问题了吗?

+0

明白了,谢谢' – Twinkiestar 2012-02-22 17:22:04