Android で部分描画を行う場合、
public void drawBitmap (Bitmap bitmap, Rect src, RectF dst, Paint paint)
を利用すれば出来るのですが、さらに回転させたい場合の手順が不明。
Bitmap のコピーを作成するときに Matrics.postRotate() を利用し回転生成
した画像を部分描画してやれば解決なのですが、
「画像回転&部分描画」のたびに最も重いイメージ生成
を行うのは、正直どうよ?と思ってしまいます。
回転だけなら「イメージ生成を行わなくても出来る方法」まで辿りついたのですが、
さらに部分描画となると難しい。
Canvas では save() / restore() / rotate()、 Matrics では各メソッドほぼ全て
試したけど、結果が伴わない。
iアプリみたいにな setFlipMode() を行うラッピングメソッドを実装した場合、
部分描画&画像回転の両メソッドを考慮し、キャッシュ機能を独自に実装した
としても、setFlipMode() の引数と内部イメージが異なるまいに、常に動的な
イメージ生成を走らせるのは正直微妙。
0 コメント:
コメントを投稿