Я новичок в Android.
Я рисую растровые изображения, линии и формы на холсте внутри метода OnDraw (холст холста) моего представления. Я ищу помощь о том, как реализовать плавную прокрутку в ответ на перетаскивание пользователем. Я искал, но не нашел учебников, которые могли бы помочь мне с этим.
Ссылка на Canvas, по-видимому, говорит о том, что если Canvas создается из растрового изображения (скажем, bmpBuffer), то все, что нарисовано на Canvas, также рисуется в bmpBuffer. Можно ли использовать bmpBuffer для реализации прокрутки ... возможно, скопировать его обратно на холст, сдвинутый на несколько пикселей за раз? Но если я использую Canvas.drawBitmap, чтобы нарисовать bmpBuffer обратно в Canvas, сдвинутый на несколько пикселей, не будет ли bmpBuffer поврежден? Возможно, поэтому я должен скопировать bmpBuffer в bmpBuffer2, а затем нарисовать bmpBuffer2 обратно на холст.
Более простым подходом было бы нарисовать линии, фигуры и т. Д. Прямо в буфере Bitmap, а затем нарисовать этот буфер (со смещением) на Canvas, но насколько я вижу различные методы: drawLine (), drawShape () и т. д. недоступны для рисования в растровое изображение ... только для Canvas.
Могу ли я иметь 2 холста? Один из которых будет построен из растрового изображения буфера и использован просто для построения линий, фигур и т. Д., А затем растровое изображение буфера будет нарисовано на другом холсте для отображения в представлении?
Я должен приветствовать любой совет!
Ответы на аналогичные вопросы здесь (и на других сайтах) относятся к «блинтингу». Я понимаю концепцию, но не могу найти ничего о "blit" или "bitblt" в документации Android. Являются ли Canvas.drawBitmap и Bitmap.Copy для Android эквивалентами?