是否可以使用fabricjs以英寸为单位获取文本或图像对象的大小?

Posted

技术标签:

【中文标题】是否可以使用fabricjs以英寸为单位获取文本或图像对象的大小?【英文标题】:Is it possible to get size of a text or image object in inches using fabricjs? 【发布时间】:2014-12-26 12:57:51 【问题描述】:

我正在为产品设计师使用fabricjs。我需要以英寸为单位获取对象大小。有没有可能,如果有,那怎么办?

【问题讨论】:

【参考方案1】:

不,您不能直接从 FabricJS 获取它。 为此,您必须使用显示器 DPI 对其进行转换。通常设备的 DPI 为 96,但您也可以通过 javascript 获取它。为此,将以下代码添加到您的页面 -

<div id='wdm_dpi_div' style='height: 1in; left: -100%; position: absolute; top: -100%; width: 1in;'></div>

<script> 
var dpi_x = document.getElementById('wdm_dpi_div').offsetWidth;
var dpi_y = document.getElementById('wdm_dpi_div').offsetHeight;
// if your objects height in pixel is obj_height = 480 then
var obj_height_in_inch = obj_height/dpi_y;
// if your objects width in pixel is obj_width = 672 then
var obj_width_in_inch = obj_width/dpi_x;
</script>

但最好通过恒定 DPI 96 将像素转换为英寸。

【讨论】:

以上是关于是否可以使用fabricjs以英寸为单位获取文本或图像对象的大小?的主要内容,如果未能解决你的问题,请参考以下文章

获取 iPhone 的物理屏幕尺寸(以英寸为单位)

获取输入元素的光标或文本位置(以像素为单位)

获取输入元素的光标或文本位置(以像素为单位)

Fabricjs Textbox 使文本缩小以适应

CSS:我可以查询以英寸为单位的实际设备宽度吗?如果不能,我如何查询截至 2015 年的所有移动设备?

Fabricjs文本选择模式或编辑模式