可可 – 如何将几个NSImage复合成一个大图?

可可 – 如何将几个NSImage复合成一个大图?,第1张

概述我有一个对象的集合描述一个图像名称,它的大小和它的X / Y位置.集合按“层”排序,所以我可以用一种画家的算法来组合图像. 从这个,我可以确定保持所有图像所需的矩形,所以现在我想做的是: >创建一些缓冲区来保存结果(NS相当于iPhoneOS调用UIGraphicsContext的) >将所有图像绘制到缓冲区中. >从缓冲区的合成结果中删除新的NSImage. 在iPhoneOS中,这是我想要的代 我有一个对象的集合描述一个图像名称,它的大小和它的X / Y位置.集合按“层”排序,所以我可以用一种画家的算法来组合图像.

从这个,我可以确定保持所有图像所需的矩形,所以现在我想做的是:

>创建一些缓冲区来保存结果(NS相当于iPhoneOS调用UIGraphicsContext的)
>将所有图像绘制到缓冲区中.
>从缓冲区的合成结果中删除新的NSImage.

在iPhoneOS中,这是我想要的代码:

UIGraphicsBeginImageContext (woSize);    CGContextRef ctx = UIGraphicsGetCurrentContext();    [[UIcolor clearcolor] set];    CGContextFillRect(ctx,NSMakeRect(0,woSize.wIDth,woSize.height));    // draw my varIoUs images,here.    // i.e. VarIoUs repetitions of [myImage drawAtPoint:somePoint];    UIImage *image = UIGraphicsGetimageFromCurrentimageContext();UIGraphicsEndImageContext();

我正在寻找的是如何在桌面可可/ NS.

谢谢!

解决方法
NSImage* resultimage = [[[NSImage alloc] initWithSize:imageSize] autorelease];[resultimage lockFocus];[anotherImage drawAtPoint:aPoint fromrect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0];// Or any of the other about 6 options; see Apple's guIDe to pick.[resultimage unlockFocus];

检查Apple’s Drawing Guide有一个更长的更详细的答案.

总结

以上是内存溢出为你收集整理的可可 – 如何将几个NSImage复合成一个大图?全部内容,希望文章能够帮你解决可可 – 如何将几个NSImage复合成一个大图?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1030499.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存