我有一张大图和一张小图,都是Data
字的,我都转换成了NSImage
字.我想把较小的图像放在大图像的顶部,左上角对齐,在新的单NSImage
中.
目前,此代码可以工作,但是lockFocus
和unlockFocus
都已弃用.我认为文档不够清楚,我无法理解我应该如何重写它.
以下是工作代码:
func combineImages(image1: NSImage, image2: NSImage) -> NSImage {
let size = NSMakeSize(max(image1.size.width, image2.size.width), max(image1.size.height, image2.size.height))
let newImage = NSImage(size: size)
newImage.lockFocus()
image2.draw(at: NSPoint(x: 0, y: size.height - image2.size.height), from: NSZeroRect, operation: .sourceOver, fraction: 1.0)
image1.draw(at: NSZeroPoint, from: NSZeroRect, operation: .sourceOver, fraction: 1.0)
newImage.unlockFocus()
return newImage
}
不推荐使用的方法是:
此方法与分辨率无关的绘图不兼容,并且 不应使用.