这个单位对定义界面尺寸、字体、位置等都有极大影响,尤其在GUI、APP开发中。下面就一起来看看这几个单位之间的换算关系吧。
1 inches = 2.54 centimeters
1 inches = 4.62 normalized
1 inches = 72.0 points
1 inches = 96.0 pixels
以上的换算关系来源于matlab GUIDE,由这几个关系式就可完成它们之间的相互转换。为了方便大家使用,小编专门将它们之间的相互转换整理成函数 —— unitsTrans,使用unitsTrans可以轻松完成以上的各种转换。
函数调用格式及参数说明:
调用格式:out = unitsTrans(ori,type,num)
ori为需要转换的数据;type为转换类型,字符串型数据;num为输出数据小数点后的有效数字位数,num可以为空,默认为2;out为转换后的数据。
所有可用type类型说明如下:
为了方便type类型书写,将五个单位分别进行缩写处理,inches缩写为in,centimeters缩写为ce,normalized缩写为no,points缩写为po,pixels缩写为pi。若要将inches转换成points,type则写成 'in2po',意为"inches to points"。
所有可用type:
inches到其他:in2in, in2ce, in2no, in2po, in2pi
centimeters到其他:ce2ce, ce2in, ce2no, ce2po, ce2pi
normalized到其他:no2no, no2in, no2ce, no2po, no2pi
points到其他:po2po, po2in, po2ce, po2no, po2pi
pixels到其他:pi2pi, pi2in, pi2ce, pi2no, pi2po
使用示例
代码语言:javascript复制% 示例1:
out = unitsTrans(0.12,'no2po')
% 示例2:
out = unitsTrans(12,'pi2ce',4)
小伙伴们可以根据上面的关系式自己编写相关转换程序。
参考资料:
[1] https://ww2.mathworks.cn/help/matlab/ref/figure.html
如需转载,请在公众号中回复“转载”获取授权,未经授权擅自搬运抄袭的,必将追究其责任!