我正在做一个Android项目.我有每单位像素的图像面积.我怎样才能把它换成平方英寸呢?

我在一个特定的图像中测试了单位的转换.我在Java中使用了这个特定的公式进行转换.

float inchesWidth = (float) width / dpi;
float inchesHeight = (float) height / dpi;
float areaInSquareInches = inchesWidth * inchesHeight;

假设图像的宽度为678.图像的高度为452.安卓设备的dpi为440.我得到的面积=1.58平方英寸.有没有人能证实我用的是正确的公式和方法,因为没有办法证实这一点.

推荐答案

假设您根本没有对图像进行zoom ,那么您的计算是正确的.如果要进行zoom ,则需要乘以比例因子(x和y比例因子可以是独立的,尽管它们通常是相同的).您还必须确保使用正确的dpi-您希望使用运行的操作系统的逻辑dpi,而不是物理设备的本机dpi(有些设备的物理dpi可能是每英寸300像素,但操作系统会假装它是某个较小的数字(例如250)以提供一些放大).

Java相关问答推荐

try Dockerize Maven应用程序,但发布版本21不支持"

Mongo DB Bson和Java:在子文档中添加和返回仅存在于父文档中的字段?

ittext pdf延迟签名,签名无效

参数值[...]与预期类型java.util.Date不匹配

基本时态运算的ISO-8601周数据表示法

XPages-在第二次点击按钮之前延迟

Java FX中的河内之塔游戏-在游戏完全解决之前什么都不会显示

R.id.main给我一个红色错误,无法解析MainActivity.java中的符号main

GSON期间的Java类型擦除

第二次按下按钮后,我需要将按钮恢复到其原始状态,以便它可以再次工作

Com.google.firebase.database.DatabaseException:无法将类型为java.lang.Boolean的值转换为字符串.这是关于什么的?

从LineChart<;字符串、字符串和gt;中删除数据时出现特殊的ClassCastException;

有没有办法知道在合并中执行了什么操作?

在整数列表中查找和可被第三个整数整除的对时出现无法解释的RunTimeError

获取所有可以处理Invent.ACTION_MEDIA_BUTTON Android 13 API33的Android包

通过/失败的参数化junit测试方法执行数

org.springframework.web.HttpRequestMethodNotSupportedException:请求方法';帖子';不支持

Java编译器是否进行了持续的折叠优化,以及如何进行判断?

spring 数据Elastic search 与 spring 启动数据Elastic search 之间的区别是什么?

关于正则表达式的一个特定问题,该问题与固定宽度负向后看有关