使用paper.js并喜欢它。我想使用笛卡尔坐标系,而不是默认的"文档"风格的系统。
当我在带有普通js(没有paper.js)的画布上画画时,我强制执行这样的转换(在$(document).ready()
上):
ctx = canvas.getContext("2d");
ctx.scale(1, -1);
ctx.translate(0, (-canvas.height/2));
但是,随着paper.js在浏览器中运行的方式,这不起作用
纸上的view
对象有一个方法transform()
,但是下面的代码会抛出一个错误,即使输出到控制台的视图对象清晰可用:
console.log(view);
view.transform( new Matrix(1,0,0,-1,300,300) );
// console output:
// CanvasView {_context: CanvasRenderingContext2D, _eventCou......
// Uncaught TypeError: view.transform is not a function
我想我需要在某些文档加载事件时调用transform
吗?但是我没有在纸质API中看到任何直接的事件。
有一种简单的方法可以简单地将线性变换应用到整个视图中,一开始就是为了获得笛卡尔系统吗?
答案 0 :(得分:1)
计算出以下作品:
project.activeLayer.transform( new Matrix(1,0,0,-1,view.center.x, view.center.y) );