Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.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_Graphics_Canvas_Adobe Illustrator - Fatal编程技术网

JavaScript<;帆布>;绘制缩放图像

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)

神奇的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);
  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。