我使用Mike Swanson的AI> Illustrator插件(Illustrator)(found here),它非常適合將Illustrator創建導出到HTML5 Canvas元素,但導出的構建Canvas元素的JS會構建它以只讀方式。使用jCanvas.js構建AI2Canvas輸出
我試圖找出一種簡化的方法來將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性能。我只需要找出從Illustrator中設計的東西獲得的東西到<canvas>
元素的最佳方式,然後我可以稍後使用JS訪問特定的元素。