使用比例因子绘制点

时间:2011-10-17 01:01:35

标签: javascript graphics canvas 2d

我使用以下内容在图表上集中缩放框:

var x1 = (this.width - (this.image.width * this.scale)) / 2 + this.origin.x;
var y1 = (this.height - (this.image.height * this.scale)) / 2 + this.origin.y;
var x2 = (this.image.width * this.scale);
var y2 = (this.image.height * this.scale);
context.drawImage(this.image, x1, y1, x2, y2);

现在我需要能够在该图上缩放单个点。该点具有原点x / y,点x / y和当前级别的比例因子(this.scale)。如何将此比例因子转换为具有给定比例的方框上的点?

1 个答案:

答案 0 :(得分:0)

我认为您的问题是 - 一个点已经给出了坐标x,y,您需要提出新的x和y坐标a, b,以便它在缩放框内的相同位置就像它在整个图表中一样。

该点距离原点水平x个单位,您需要它来自新原点的x/scale单位。

所以,a = x/scale + x1(因为新的原点有坐标x1, y1

类似地,该点距离原点垂直y个单位,您需要它来自新原点的y/scale单位。

b = y/scale + y1

我想我可能误解了新原点的位置(方框的左下角,但如果我只是用新原点的坐标替换x1y1