目前,我只能使用jpeg
&png
导出,如:
stageRef.current?.getStage().toDataURL({ mimeType: 'image/jpeg', quality: 1 })
stageRef.current?.getStage().toDataURL({ mimeType: 'image/png', quality: 1 })
我想像Figma那样将Canvas导出到svg
和pdf
。
我发现了导致MIME_types的数据URI。在那里,他们写了application/pdf
&image/svg+xml
应该工作,但当我这样做时,我仍然会得到.png
图像。
有什么方法可以实现CCD_ 8&来自Konva Canvas的.pdf
?
stage.toDataURL()
正在使用canvas.toDataURL((API进行导出。大多数浏览器只支持jpg
和png
格式。
对于SVG或PDF导出,您必须编写自己的实现。
对于PDF导出,您可以使用外部库通过stage.toDataURL()
方法生成带有图像的PDF文件。作为一个演示,看看Saving Konva阶段到PDF演示。
Konva库中没有用于SVG导出的内置方法。您必须编写自己的实现。如果使用Rect
、Circle
和Text
等基本形状而不使用任何花哨的过滤器,那么编写这样的转换应该不难,因为SVG规范中也有类似的标签。
toDataUrl()
导出位图,而不是矢量。
您可以使用canvas2svg包生成svg。
您可以将层的上下文设置为c2s实例,对其进行渲染,并将层的引用重置为以前的引用,如图所示。