function unitConversion() {
/**
* 获取DPI
* @returns {Array}
*/
this.conversion_getDPI =function () {
var arrDPI = new Array;
if (window.screen.deviceXDPI) {
arrDPI[0] = window.screen.deviceXDPI;
arrDPI[1] = window.screen.deviceYDPI;
} else {
var tmpNode = document.createElement("DIV");
tmpNode.style.cssText = "width:1in;height:1in;position:absolute;left:0px;top:0px;z-index:99;visibility:hidden";
document.body.appendChild(tmpNode);
arrDPI[0] = parseInt(tmpNode.offsetWidth);
arrDPI[1] = parseInt(tmpNode.offsetHeight);
tmpNode.parentNode.removeChild(tmpNode);
}
return arrDPI;
};
/**
* px转换为mm
* @param value
* @returns {number}
*/
this.pxConversionMm = function (value) {
var inch = value/this.conversion_getDPI()[0];
var c_value = inch * 25.4;
// console.log(c_value);
return c_value;
};
/**
* mm转换为px
* @param value
* @returns {number}
*/
this.mmConversionPx = function (value) {
var inch = value/25.4;
var c_value = inch*this.conversion_getDPI()[0];
// console.log(c_value);
return c_value;
}
}
//调用直接 new unitConversion().pxConversionMm(像素)
// new unitConversion().mmConversionPx (毫米)
window.screen.deviceXDPI此方法只适用IE
本文介绍了一种在网页开发中实现像素(px)与毫米(mm)单位互换的方法。通过获取设备DPI,实现了准确的px到mm及mm到px的转换。适用于不同屏幕分辨率的设备,确保了网页元素尺寸的一致性和准确性。

5203

被折叠的 条评论
为什么被折叠?



