我有以英尺为单位的对象(在我的情况下为天线)的实时位置(x,y),我想在 fabricJs 画布上显示它们(宽度:400px 和高度:400px)以像素为单位,但是我没有知道将英尺测量值转换为像素的公式。
3 回答
Helenr
TA贡献1780条经验 获得超4个赞
您可能希望将地图缩小到 400 像素 x 400 像素的网格。假设您有 alxw 大小的实时地图,您可以执行以下操作:
function positionToPixels(x, y) {
//You may want to parseInt or something
let newX = 400 * x / w;
let newY = 400 * y / l;
return [newX, newY];
}
我们所做的只是说原始对象与边缘的距离将与映射对象与其边缘的距离成正比
交互式爱情
TA贡献1712条经验 获得超3个赞
这取决于英尺的面积。如果以英尺为单位的面积 = 1000x1000,您可以执行以下操作:
const areaF = {w: 1000, h: 1000};
const areaP = {w: 400, h: 400};
const locationFeetToPixel (x, y) {
const relativeX = x / areaF.w;
const relativeY = y / areaF.h;
const pX = areaP.w * relativeX;
const pY = areaP.h * relativeY;
return {x: pX, y: pY};
}
添加回答
举报
0/150
提交
取消