我通过组合两个图像创建了一个新图像。但最终的大小是图像缩小到屏幕的大小(分辨率)。使用的代码是
Bitmap pic = BitmapFactory.decodeResource(getResources(), R.drawable.me);
Bitmap stat= BitmapFactory.decodeResource(getResources(), R.drawable.static);
Bitmap out1 = Bitmap.createBitmap(stat) ;
Canvas comboImage = new Canvas(out1);
comboImage.drawBitmap(map, 0, 0, null);
comboImage.drawBitmap(pic, 150f, 30f, null);
之后我将图像存储为
OutputStream os = null;
os = new FileOutputStream("/sdcard/DCIM/Camera/" + "myNewFileName5.png");
out1.compress(CompressFormat.PNG, 100, os);
os.flush();
os.close();
图像的尺寸是staic 640x480。但我的最终图像是320x240,这是我的手机屏幕分辨率。是因为我使用Canvas?有没有办法在不改变图像尺寸的情况下做到这一点?
答案 0 :(得分:0)
检查您的API版本?在In the onDraw() method, why does the supplied Canvas already have scale?处有一个解释,对于低于4的API级别,画布具有默认的缩放兼容模式,就像它定位到G1屏幕一样。