簡體   English   中英

將任何 dpi 轉換為任何 dpi 的公式

[英]Formula to convert any dpi to any dpi

我需要公式來計算任何 dpi 到任何 dpi。 例如:mdpi 到 hdpi、xdpi 到 xxhdpi 等。這個網站完全符合我的要求,但我找不到它的邏輯。 關於它的公式有什么建議嗎?

所有的邏輯都是客戶端的,所以簡單的檢查就會向你展示整個算法:

我已經提取並簡化了一點:

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或任何其他值,並在此基礎上計算其他密度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM