我正在为 Illustrator 使用 Mike Swanson 的 AI > Canvas 插件(在此处找到),它非常适合将 Illustrator 创建导出到 HTML5 Canvas 元素,但构建 Canvas 元素的导出 JS 以只读方式构建它。
我试图找出一种将 AI2Canvas 导出的 JS 转换为jCanvas JS的简化方法,以便我能够动态更新画布中的元素(例如更新文本、更改颜色等)。
以下 2 个比较是针对基本矩形的:
AI2Canvas 导出到类似的东西:
// layer1/Rectangle
ctx.save();
ctx.beginPath();
ctx.moveTo(1000.8, 1000.0);
ctx.lineTo(0.8, 1000.0);
ctx.lineTo(0.8, 0.0);
ctx.lineTo(1000.8, 0.0);
ctx.lineTo(1000.8, 1000.0);
ctx.closePath();
ctx.fillStyle = "rgb(237, 28, 36)";
ctx.fill();
jCanvas 将类似于:
$('canvas').drawLine({
name: 'firstLine', // this allows me to access later for edits
closed: true,
fillStyle: "rgb(237, 28, 36)",
x1: 0, y1: 1000,
x2: 0, y2: 0,
x3: 1000, y3: 0,
x4: 1000, y4: 1000
});
在这种情况下,一个基本的矩形,转换自己并不困难。更棘手的是当 AI2Canvas 导出到包含 BezierCurves 的东西时,手动转换到 jCanvas 属性并不容易。
除了 AI2Canvas 和 jCanvas 之外,我也对某些东西持开放态度——我只需要找出从 Illustrator 中设计的东西到<canvas>
元素的最佳方法,然后我可以稍后使用 JS 访问特定元素。