2011/01/04

Android 部分描画と回転描画の組み合わせ

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

0 件のコメント:

コメントを投稿