結果がデバイス密度に依存しないように、(キャンバスを使用して)ビットマップに描画する方法がわかりません。
描画を行うコードは次のとおりです。
ImageView iv = (ImageView)findViewById(R.id.container);
Bitmap result = BitmapFactory.decodeResource(getResources(), R.drawable.big_picture).copy(Bitmap.Config.ARGB_8888, true);
Canvas canvas = new Canvas(result);
canvas.drawBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.small_picture), actualX, actualY, null);
iv.setImageBitmap(result);
に big_picture をロードBitmap result
し、指定された位置に small_picture を描画したいと考えています。actualX と actualY を設定すると、同じ密度のデバイスで問題ありません。ただし、異なる密度のデバイスはキャンバスを「スケーリング」します。
興味深いのは、small_picture だけが「スケーリング」されて画面の外に出ますが、その背後にある pig_picture は、どの密度の画面でも画面にうまく収まることです。何故ですか?big_picture 密度に small_picture を個別に描画するにはどうすればよいですか? ありがとうございました!