Sketch插件开发:修改文档色彩空间为P3的代码报错求助
Sketch插件修改色彩空间代码修复
原代码存在三个关键问题,导致无法正常运行:
- 错误使用了不存在的
ColorSpace.P3:Sketch中需要通过MSColorSpace.displayP3()获取Display P3色彩空间的实例对象。 - OC语法误用:
[doc colorSpace]是Objective-C的调用方式,在JavaScript环境中要改为doc.colorSpace(),且直接获取的是色彩空间对象,需要调用name()方法才能得到可读的名称文本。 - 多参数OC方法调用错误:
changeColorSpace:withOptions:在JS中需要使用下划线连接的方法名changeColorSpace_withOptions_来传递两个参数。
修正后的代码:
var onRun = function(context) { var doc = context.document; // 获取Display P3色彩空间实例,调用正确的多参数方法 doc.changeColorSpace_withOptions_(MSColorSpace.displayP3(), true); // 获取色彩空间名称 var colorSpace = doc.colorSpace(); var colorName = colorSpace.name(); doc.showMessage("Color space changed to " + colorName); }
内容的提问来源于stack exchange,提问作者jongho cook
相关产品推荐
相关产品推荐

