我有一个 CGImageRef (我们称之为原始图像)和一个透明 png (水印)。我正在尝试编写一种方法将水印放置在原始内容之上,并返回 CGImageRef。
在 iOS 中,我会使用 UIKit 将它们绘制到上下文中,但这在 OSX 中似乎不可能(不支持 UIKit)。
堆叠两个图像的最简单方法是什么?谢谢
对于快速但肮脏的解决方案,您可以使用 NSImage 绘图 API:
NSImage *background = [NSImage imageNamed:@"background"];
NSImage *overlay = [NSImage imageNamed:@"overlay"];
NSImage *newImage = [[NSImage alloc] initWithSize:[background size]];
[newImage lockFocus];
CGRect newImageRect = CGRectZero;
newImageRect.size = [newImage size];
[background drawInRect:newImageRect];
[overlay drawInRect:newImageRect];
[newImage unlockFocus];
CGImageRef newImageRef = [newImage CGImageForProposedRect:NULL context:nil hints:nil];
如果您不喜欢这样,您期望的大多数 CGContext API 都可以跨平台使用,以便通过更多控制进行绘图。同样,您可以查看 NSGraphicsContext。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)