私がやりたいのは、選択した位置で、画像の切り抜きを画面に描画することです。
これをビットマップに簡単にロードできます。サブセクションを描画します。
しかし、画像が大きい場合、これは明らかにメモリを使い果たします。
私の画面はサーフェスビューです。キャンバスなどもあります。
では、特定のオフセットで画像の一部を描画し、サイズを変更するにはどうすればよいでしょうか。原稿をメモリにロードせずに
正しい線に沿った答えを見つけましたが、正しく機能しません。ファイルからドローアブルを使用する。以下のコード試行。それが生成するランダムなサイズ変更は別として、それも不完全です。
例:
Drawable img = Drawable.createFromPath(Files.SDCARD + image.rasterName);
int drawWidth = (int) (image.GetOSXWidth()/(maxX - minX)) * m_canvas.getWidth();
int drawHeight = (int)(image.GetOSYHeight()/(maxY - minY)) * m_canvas.getHeight();
// Calculate what part of image I need...
img.setBounds(0, 0, drawWidth, drawHeight);
// apply canvas matrix to move before draw...?
img.draw(m_canvas);