Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 草图插件:如何以编程方式使图层可导出?_Javascript_Plugins_Sketch 3_Cocoascript - Fatal编程技术网

Javascript 草图插件:如何以编程方式使图层可导出?

Javascript 草图插件:如何以编程方式使图层可导出?,javascript,plugins,sketch-3,cocoascript,Javascript,Plugins,Sketch 3,Cocoascript,因此,在中,可以将图层/组标记为可导出 然后层/组可以导出为.png/.svg/.pdf等。我最近尝试制作一个草图插件,需要将层/组标记为可从代码导出。代码中的层用MSLayer表示,组为MSLayerGroup。草图文档还不够成熟,所以我用来提取应用程序中使用的所有标题。我一直在寻找一种似乎能完成我工作的方法,但已经好几天了,我仍然运气不佳。在这方面,有人能帮我吗?草图支持切片和导出到图像。您可以使用-(void)saveArtboardOrSlice:(id)arg1到文件:(id)arg

因此,在中,可以将图层/组标记为可导出


然后层/组可以导出为.png/.svg/.pdf等。我最近尝试制作一个草图插件,需要将层/组标记为可从代码导出。代码中的层用
MSLayer
表示,组为
MSLayerGroup
。草图文档还不够成熟,所以我用来提取应用程序中使用的所有标题。我一直在寻找一种似乎能完成我工作的方法,但已经好几天了,我仍然运气不佳。在这方面,有人能帮我吗?

草图支持切片和导出到图像。您可以使用
-(void)saveArtboardOrSlice:(id)arg1到文件:(id)arg2
MSDocument的方法

这几乎就是如何做到这一点

var loopLayerChildren = [[layerToExport children] objectEnumerator],
    rect = [MSSliceTrimming trimmedRectForSlice:layer],
    useSliceLayer = false,
    exportFilePath,
    slice;

// Check for MSSliceLayer and overwrite the rect if present
while (layerChild = [loopLayerChildren nextObject]) {
    if ([layerChild class] == 'MSSliceLayer') {
        rect  = [MSSliceTrimming trimmedRectForSlice:layerChild];
        useSliceLayer = true;
    }
}

slice = [MSExportRequest requestWithRect:rect scale:1];

if (!useSliceLayer) {
    slice.shouldTrim = true;
}

// export to image file
[(this.document) saveArtboardOrSlice: slice toFile:exportFilePath];

来自@GeertWill's的参考资料。

谢谢,我会尽快查看并回复您。