我有一组描述图像名称、大小和 X/Y 位置的对象。集合按“层”排序,所以我可以用一种画家算法来合成图像。
由此,我可以确定容纳所有图像所需的矩形,所以现在我要做的是:
- 创建某种缓冲区来保存结果(相当于 iPhoneOS 调用 UIGraphicsContext 的 NS。)
- 将所有图像绘制到缓冲区中。
- 从缓冲区的合成结果中获取一个新的 NSImage 。
在 iPhoneOS 中,这是我想要的代码:
UIGraphicsBeginImageContext (woSize);
CGContextRef ctx = UIGraphicsGetCurrentContext();
[[UIColor clearColor] set];
CGContextFillRect(ctx, NSMakeRect(0, 0, woSize.width, woSize.height));
// draw my various images, here.
// i.e. Various repetitions of [myImage drawAtPoint:somePoint];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
我正在寻找的是如何在桌面 Cocoa/NS 中做到这一点。
谢谢!