私はAndroidが初めてです。
ビューの OnDraw(Canvas canvas) メソッド内の Canvas にビットマップ、線、および図形を描画しています。ユーザーのドラッグに応じてスムーズなスクロールを実装する方法についてのヘルプを探しています。検索しましたが、これに役立つチュートリアルは見つかりませんでした。
Canvas の参照は、Canvas がビットマップ (たとえば bmpBuffer と呼ばれる) から構築されている場合、Canvas に描画されるものはすべて bmpBuffer にも描画されると言っているようです。bmpBuffer を使用してスクロールを実装することは可能でしょうか...おそらく一度に数ピクセルずつシフトされたキャンバスにコピーして戻しますか? しかし、Canvas.drawBitmap を使用して bmpBuffer を Canvas に描画し、数ピクセルずらして戻すと、bmpBuffer は破損しませんか? したがって、bmpBuffer を bmpBuffer2 にコピーしてから、bmpBuffer2 を Canvas に戻す必要があります。
より簡単なアプローチは、線、形状などをバッファ Bitmap に直接描画し、そのバッファを (シフトして) Canvas に描画することですが、私が見ることができる限り、さまざまなメソッド: drawLine()、drawShape()などは、ビットマップへの描画には使用できません...キャンバスにのみ使用できます。
キャンバスを2枚いただけますか?そのうちの 1 つはバッファ ビットマップから構築され、単純に線や形状などをプロットするために使用されます。その後、バッファ ビットマップはビューに表示するために他のキャンバスに描画されますか?
どんなアドバイスでも歓迎します!
ここ (および他の Web サイト) での同様の質問への回答は、「ブリッティング」に言及しています。概念は理解できますが、Android ドキュメントで「blit」または「bitblt」について何も見つかりません。Canvas.drawBitmap と Bitmap.Copy は Android の同等物ですか?