0
在我的代碼中,我有一個圖像轉換位圖,更改大小並分配了setDensity。然後我保存在sd中。android更改位圖圖像的dpi的dpi dpi
在這個例子中,最終的尺寸將是5×7英寸
這是我的代碼:
private void SaveImage(Bitmap myBitmap) {
int TARGET_DENSITY = 300;
int PHYSICAL_WIDTH_IN_INCH = 5;
int PHYSICAL_HEIGHT_IN_INCH = 7;
Bitmap bmp = Bitmap.createBitmap(PHYSICAL_WIDTH_IN_INCH * TARGET_DENSITY, PHYSICAL_HEIGHT_IN_INCH * TARGET_DENSITY, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bmp);
canvas.drawBitmap(myBitmap, 0, 0, new Paint());
String root = Environment.getExternalStorageDirectory().toString();
File myDir = new File(root + "/aaa");
myDir.mkdirs();
Random generator = new Random();
int n = 10000;
n = generator.nextInt(n);
String fname = "Image-"+ n +".jpg";
File file = new File (myDir, fname);
if (file.exists()) file.delete();
try {
FileOutputStream out = new FileOutputStream(file);
bmp.setDensity(TARGET_DENSITY);
bmp.compress(Bitmap.CompressFormat.JPEG, 100, out);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
Log.i("control","Error");
}
}
圖像的原始尺寸爲w:1024 XH:768px - 300DPI
由該應用產生的圖像的最終尺寸是:W:1500 XH:2100px - 72dpi的
如果使用的Photoshop改變72 dpi的爲300 dpi,則結果是正確的(5x7inches),但圖片輸出在72dpi
有沒有什麼辦法,該圖像是從應用程序與300dpi生成?
我正在查找信息,但沒有成功。
在此先感謝