Paper.js,强制笛卡尔坐标系,原点位于中心

时间:2016-01-17 20:39:10

标签: html5-canvas paperjs

使用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中看到任何直接的事件。

有一种简单的方法可以简单地将线性变换应用到整个视图中,一开始就是为了获得笛卡尔系统吗?

1 个答案:

答案 0 :(得分:1)

计算出以下作品:

project.activeLayer.transform( new Matrix(1,0,0,-1,view.center.x, view.center.y) );