[英]Formula to convert any dpi to any dpi
所有的邏輯都是客戶端的,所以簡單的檢查就會向你展示整個算法:
我已經提取並簡化了一點:
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
值。 然后您應該檢查該值是否為ldpi
、 mdpi
或任何其他值,並在此基礎上計算其他密度。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.