如何以编程方式创建透明的NSImage?

时间:2017-07-15 19:03:41

标签: swift macos nsimage

非常简单:如何以编程方式创建透明NSImage?除非它不那么简单......以前的OSX版本在调用

时默认为NSImage透明背景
let image = NSImage(size: size)

但现在它有黑色背景。如何创建透明的?我希望lockFocus()关于给定大小的透明图像并绘制。

1 个答案:

答案 0 :(得分:1)

一些主要的Mac OS版本之前的锁定/解锁焦点方法虽然没有被弃用,但已被强调为NSImage(size:flipped:drawingHandler:)延迟绘制。我个人在使用与后来的macOS SDK链接的应用程序中使用锁定/解锁将多个图像组合成一个时,遇到意外光栅化文本和某些alpha通道问题的问题。

我的第一个建议是使用该方法,看看是否能解决问题。您的绘图处理程序可以只包含return true