介绍
Krita 是一款针对数字画师的免费画图工具,拥有强大的功能,可与商业画图软件媲美。利用 Krita,用户可以快速创建出优质的数码绘画作品,提高作品制作效率,目前在数字绘画领域受到广泛欢迎。npm 包 krita 则是将 Krita 的工具封装成 npm 包,进一步方便前端的开发者使用。
安装
npm install krita
使用
安装完成后,在项目中引入 krita:
const krita = require('krita');
创建新的 Krita 实例
// 创建一个新的 Krita 实例 const app = new krita.App();
打开 Krita 文件
// 打开一个 .kra 文件 await app.open(path.join(__dirname, 'example.kra'));
遍历图层
// 遍历所有图层 app.walkLayers((layer) => { console.log(layer.name(), layer.isVisible()); });
获取图层信息
// 获取指定图层的图层信息 const layer = app.getLayerByName('layerName'); console.log(layer.name(), layer.group(), layer.width(), layer.height());
获取图层渲染
// 获取指定图层的图层渲染 const layer = app.getLayerByName('layerName'); const image = layer.render(0, 0, layer.width(), layer.height()); console.log(image.toString('base64'));
深入了解
在使用 krita 的过程中,还需要注意一些细节和特性,下面介绍一些相关的知识点。
序列化文件
Krita 同样支持文档的序列化,如下所示可以进行文件的序列化:
-- -------------------- ---- ------- ----- ----- - ----------------- ----- ---- - ---------------- ----- -------- ------ - ----- --- - --- ------------ ----- ----------------------------- ------------------- ----- ----------------------------- ------------------------- - -------
渲染选定区域
// 获取选定的矩形区域渲染 const layer = app.getLayerByName('layerName'); const image = layer.render(0, 0, layer.width(), layer.height()); console.log(image.toString('base64'));
获取当前的工作区
// 获取当前的工作区 const workspace = app.currentWorkspace();
获取图层的宽度和高度
// 获取指定图层的宽度和高度 const layer = app.getLayerByName('layerName'); console.log(layer.width(), layer.height());
获取图层的元数据
// 获取指定图层的元数据 const layer = app.getLayerByName('layerName'); console.log(layer.metadata(), layer.metadata('author'));
调整图层的位置
// 将指定的图层移动到目标图层下面 const layer = app.getLayerByName('layerName'); const targetLayer = app.getLayerByName('targetLayerName'); layer.moveAfter(targetLayer);
结语
本文分别介绍了:npm 包 krita 的安装和使用,以及一些 krita 相关的知识点。相信大家已经对于 krita 的使用有了更深入的了解。如有其他问题或疑虑,欢迎留言探讨。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600668e2d9381d61a35409eb