私は、特定のピクセルに円を描画するonDrawメソッドを持つカスタムImageViewを作成しました。問題は、ImageViewを使用してビットマップイメージをロードしていることです。キャンバスをビットマップイメージと同じサイズにする必要があります。キャンバスサイズをビットマップイメージの同じサイズに設定しました
これを実現する方法?
私は、特定のピクセルに円を描画するonDrawメソッドを持つカスタムImageViewを作成しました。問題は、ImageViewを使用してビットマップイメージをロードしていることです。キャンバスをビットマップイメージと同じサイズにする必要があります。キャンバスサイズをビットマップイメージの同じサイズに設定しました
これを実現する方法?
final SurfaceHolder holder = getSurfaceHolder();
Canvas c = new Canvas();
c = holder.lockCanvas();
c.save();
c.drawBitmap(yourBitmap,0,0,null);
c.restore();
holder.unlockCanvasAndPost(c);
キャンバスのサイズについて心配する必要はありません。
あなたのonMeasure()でビットマップサイズが決まらず、カスタム表示サイズを適切に設定することはできますか?
現在、カスタムビュークラス(onDrawメソッドを持っています)はImageViewを拡張しています。代わりにSurfaceHolderを拡張する必要がありますか?また、スクロールとズームを実装するにはどうしたらいいですか? – cptham
私は通常、このタイプのものにImageViewsの代わりにSurfaceViewsを使用します。私はパフォーマンスの比較についてはわかりません。 –