JavaScript<;帆布>;绘制缩放图像
神奇的Illustrator插件将任意复杂的Illustrator图像导出到基于JavaScript<;帆布>;绘制缩放图像,javascript,graphics,canvas,adobe-illustrator,Javascript,Graphics,Canvas,Adobe Illustrator,神奇的Illustrator插件将任意复杂的Illustrator图像导出到基于的Javascript代码中。例如,这是绿色正方形150x150的代码 function draw(ctx) { // layer4/Path ctx.save(); ctx.beginPath(); ctx.moveTo(150.0, 150.0); ctx.lineTo(0.0, 150.0); ctx.lineTo(0.0, 0.0); ctx.lineTo(150.0, 0.0)
的Javascript代码中。例如,这是绿色正方形150x150的代码
function draw(ctx) {
// layer4/Path
ctx.save();
ctx.beginPath();
ctx.moveTo(150.0, 150.0);
ctx.lineTo(0.0, 150.0);
ctx.lineTo(0.0, 0.0);
ctx.lineTo(150.0, 0.0);
ctx.lineTo(150.0, 150.0);
ctx.closePath();
ctx.fillStyle = "rgb(0, 255, 0)";
ctx.fill();
ctx.restore();
}
这是一个愚蠢的例子,因为画正方形最好用矩形,但无论如何,对于复杂的图像,这是非常宝贵的。问题在于缩放
如何转换Ai->canvas输出的通用绘图函数以接受比例因子?这个正方形的例子非常简单,但我希望将一些更通用的东西应用到画布上的Javascript函数绘图(带有圆弧、圆、贝塞尔曲线…)。谢谢一个选项是使用画布的
缩放功能,例如:
ctx.scale(xFactor, yFactor);
从这个有限的示例中,我猜想您可以将数字与相应的比例因子相乘。然而,我不熟悉这个插件,也没有看到它生成的更复杂的代码。你能发布一些吗?@SergioTulentsev:对于弧和贝塞尔等,你开始使用三角而不是简单的乘法。使用类似fabric.js的东西,它将SVG导出到对象,而不仅仅是一组命令。通过以面向对象的方式表示画布图形,fabric可以在任意点缩放、旋转、移动、删除、添加、复制对象,甚至将所有这些导出回SVG。