首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将任何dpi转换为任何dpi的公式。

将任何dpi转换为任何dpi的公式。
EN

Stack Overflow用户
提问于 2022-07-27 18:20:28
回答 1查看 21关注 0票数 0

我需要计算任意dpi到任意dpi的公式。例如: mdpi到hdpi,xdpi到xxhdpi,等等。这个网站完全满足我的要求,但我无法找到它的逻辑。对于它的公式有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-27 18:44:09

所有的逻辑都是客户端的,所以简单的检查将向您展示整个algoritm:

我提取了它,并简化了一点:

代码语言:javascript
复制
if (e == ldpi) {
    mdpi.value = (Number(ldpi.value) / 3) + Number(ldpi.value);
    hdpi.value =  Number(ldpi.value) * 2;
    xhdpi.value =  Number(mdpi.value) * 2;
    xxhdpi.value =  Number(mdpi.value) * 3;
    xxxhdpi.value =  Number(mdpi.value) * 4;
}
else if (e == mdpi) {
    ldpi.value =  (Number(mdpi.value) / 2) + (Number(mdpi.value) / 4);
    hdpi.value =  Number(ldpi.value) * 2;
    xhdpi.value =  Number(mdpi.value) * 2;
    xxhdpi.value =  Number(mdpi.value) * 3;
    xxxhdpi.value =  Number(mdpi.value) * 4;
}
else if (e == hdpi) {
    ldpi.value =  Number(hdpi.value) / 2;
    mdpi.value = (Number(ldpi.value) / 3) + Number(ldpi.value);
    xhdpi.value =  Number(mdpi.value) * 2;
    xxhdpi.value =  Number(mdpi.value) * 3;
    xxxhdpi.value =  Number(mdpi.value) * 4;
}
else if (e == xhdpi) {
    ldpi.value =  Number(e.value) - (Number(e.value) / 2 + Number(e.value) / 8);
    mdpi.value =  Number(e.value) / 2;
    hdpi.value =  Number(ldpi.value) * 2;
    xxhdpi.value =  Number(mdpi.value) * 3;
    xxxhdpi.value =  Number(mdpi.value) * 4;
}
else if (e == xxhdpi) {
    ldpi.value =  Number(e.value) / 4;
    mdpi.value = (Number(ldpi.value) / 3) + Number(ldpi.value);
    hdpi.value =  Number(ldpi.value) * 2;
    xhdpi.value = Number(mdpi.value * 2);
    xxxhdpi.value =  Number(mdpi.value) * 4;
}
else if (e == xxxhdpi) {
    const val = e.value / 4;
    ldpi.value =  val - (val / 4);
    mdpi.value = (Number(ldpi.value) / 3) + Number(ldpi.value);
    hdpi.value =  Number(ldpi.value) * 2;
    xhdpi.value = Number(mdpi.value * 2);
    xxhdpi.value =  Number(mdpi.value) * 3;
}

我认为上面的代码是非常不言自明的,但是值e代表了一些dpi值。然后,您应该检查该值是否为ldpimdpi或任何其他值,并以此为基础计算其他密度。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73142866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档