我使用以下内容在图表上集中缩放框:
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)。如何将此比例因子转换为具有给定比例的方框上的点?
答案 0 :(得分:0)
我认为您的问题是 - 一个点已经给出了坐标x,y
,您需要提出新的x和y坐标a, b
,以便它在缩放框内的相同位置就像它在整个图表中一样。
该点距离原点水平x
个单位,您需要它来自新原点的x/scale
单位。
所以,a = x/scale + x1
(因为新的原点有坐标x1, y1
)
类似地,该点距离原点垂直y
个单位,您需要它来自新原点的y/scale
单位。
和b = y/scale + y1
我想我可能误解了新原点的位置(方框的左下角,但如果我只是用新原点的坐标替换x1
和y1
)