我希望将一个 CGImage 覆盖在另一个之上。
例如,第一个 CGImage 是 1024x768 并且想要在给定位置覆盖第二个 100x100 CGImage。
我已经看到如何使用 NSImage 来做到这一点,但我真的不想将我的 CGImage 转换为 NSImage,然后进行叠加,然后将结果转换回 CGImage。我也看过 iOS 版本的代码,但不确定如何在 Mac 上进行?
我希望将一个 CGImage 覆盖在另一个之上。
例如,第一个 CGImage 是 1024x768 并且想要在给定位置覆盖第二个 100x100 CGImage。
我已经看到如何使用 NSImage 来做到这一点,但我真的不想将我的 CGImage 转换为 NSImage,然后进行叠加,然后将结果转换回 CGImage。我也看过 iOS 版本的代码,但不确定如何在 Mac 上进行?
我主要习惯于 iOS,所以我在这里可能超出了我的深度,但假设你有一个图形上下文(大小像两个图像中较大的那个),你不能把两个 CGImages 画在彼此之上?
CGImageRef img1024x768;
CGImageRef img100x100;
CGSize imgSize = CGSizeMake(CGImageGetWidth(img1024x768), CGImageGetHeight(img1024x768));
CGRect largeBounds = CGRectMake(0, 0, CGImageGetWidth(img1024x768), CGImageGetHeight(img1024x768));
CGContextDrawImage(ctx, largeBounds, img1024x768);
CGRect smallBounds = CGRectMake(0, 0, CGImageGetWidth(img100x100), CGImageGetHeight(img100x100));
CGContextDrawImage(ctx, smallBounds, img100x100);
然后将结果绘制到 NSImage 中?