【发布时间】:2015-11-20 23:26:27
【问题描述】:
我正在尝试在任何设备上创建正好为 5cm x 8cm 的图像。问题是:这些设备的每英寸点数 (dpi) 不同,这意味着我需要不同的像素大小来创建图像。如何计算这些不同的像素大小?
我的做法:
-
转换厘米 -> 英寸
浮动宽度英寸 = 5f / 2.54f; // 1.9685f;
浮动高度英寸 = 8f / 2.54f; // 3.1496f
-
以像素为单位查找大小
float realWidthSize = Screen.dpi * widthInches;
float realHeightSize = Screen.dpi * heightInches;
我在我的设备上进行了这些测试,结果与预期不符。我做错了什么?
【问题讨论】:
-
你的结果是什么?您的代码看起来应该可以工作。
-
我错过了一个东西!我需要将游戏宽度除以屏幕宽度。比如我的游戏宽度是720p,屏幕宽度是1600,所以需要乘以720/1600。它有效,但不适用于所有设备。
标签: unity3d size screen pixel dpi