0

ビットマップをトリミングする簡単な方法について読みました-トリミングがそれほど頻繁ではない場合、うまく機能します:

Bitmap.createBitmap(src, x, y, width, height);

しかし、私のアプリでは、キャンバスにビットマップを描画していて、境界を越えないようにしたい

説明

ユーザーはビットマップを移動およびズームできます。ここで、上記の で説明した方法を使用していますが、次のようになりonTouchEventます。

  1. 十分に滑らかではありません(ただし、機能します)

  2. 各「移動」イベントで新しいビットマップを再作成します。非常に効率が悪いと思います。以前のビットマップをリサイクルするため、メモリの消費はありませんが、それでも見栄えは悪くなります。

私の質問は次のとおりです。キャンバスに描画しているときに、ビットマップをより効率的にトリミングする方法はありますか?

4

1 に答える 1

0

1 つのビューにまとめて描画するよりも、それぞれに独自のものを使用する方がはるかに優れていると判断しました。ImageViewBitmap

この場合、OS は範囲外のものをすべてトリミングするので、自分でビットマップをトリミングする必要はありません。パフォーマンスを大幅に向上させます。

于 2012-08-12T15:44:11.533 に答える