我有一个尺寸为300*90的按钮图片,那么hdpi/mdpi/ldpi的尺寸应该是多少?谢谢。
我有一个尺寸为300*90的按钮图片,那么hdpi/mdpi/ldpi的尺寸应该是多少?谢谢。
谷歌建议使用
3:4:6:8:12:16
缩放比例用于
ldpi:mdpi:hdpi:xhdpi:xxhdpi:xxxhdpi
。 例如:
在您的示例中,如果提到的按钮尺寸是hdpi,则正确的尺寸应为:
完整公式创建所有资产文件夹图像
首先,您必须决定为哪个DPI创建图像,一旦确定并创建图像,然后根据 Google指南使用以下代码。
public class DPICalculator {
private final float LDPI = 120;
private final float MDPI = 160;
private final float HDPI = 240;
private final float XHDPI = 320;
private final float BASE_DPI = MDPI;
public static void main(String[] args) {
DPICalculator cal = new DPICalculator();
cal.calculateDPI_baseUnitPixel(300, 90, cal.HDPI);
}
private float densityWidth;
private float densityHeight;
public void calculateDPI_baseUnitPixel(float width, float height, float currentDensity) {
densityWidth = getDensityPX(width, currentDensity);
densityHeight = getDensityPX(height, currentDensity);
this.calculateAllDP();
}
private float getDensityPX(float value, float currentDensity) {
return (value / (currentDensity / BASE_DPI));
}
public void calculateDPI_baseUnitDPI(float width, float height, float currentDensity) {
densityWidth = getDensityDPI(width, currentDensity);
densityHeight = getDensityDPI(height, currentDensity);
this.calculateAllDP();
}
private float getDensityDPI(float value, float currentDensity) {
return (value * (currentDensity / BASE_DPI));
}
private void calculateAllDP() {
// get all settings.
float low_pw = densityWidth * (LDPI / BASE_DPI);
float low_ph = densityHeight * (LDPI / BASE_DPI);
float med_pw = densityWidth * (MDPI / BASE_DPI);
float med_ph = densityHeight * (MDPI / BASE_DPI);
float high_pw = densityWidth * (HDPI / BASE_DPI);
float high_ph = densityHeight * (HDPI / BASE_DPI);
float xhigh_pw = densityWidth * (XHDPI / BASE_DPI);
float xhigh_ph = densityHeight * (XHDPI / BASE_DPI);
System.out.println("LDPI " + low_pw + " x " + low_ph);
System.out.println("MDPI " + med_pw + " x " + med_ph);
System.out.println("HDPI " + high_pw + " x " + high_ph);
System.out.println("XHDPI " + xhigh_pw + " x " + xhigh_ph);
}
}
Result
LDPI 150.0 x 45.0
MDPI 200.0 x 60.0
HDPI 300.0 x 90.0
XHDPI 400.0 x 120.0
为此,您可以尝试我的工具,该工具专门用于缩放不同类型(png、jpg、gif、svg、psd、9-patch)的图像(单个或批处理)。使用高质量的缩放算法,并支持某些无损压缩工具,如pngcrush。有GUI和命令行界面。