Ежевика с прокруткой на холсте - PullRequest
0 голосов
/ 15 декабря 2010

Привет, друзья! Я искал много тем, но у меня не было решения для вертикальной прокрутки. когда растровые изображения нарисованы с использованием графики с методом рисования.

Пожалуйста, помогите мне.

1 Ответ

3 голосов
/ 16 декабря 2010

Если вы пытаетесь (как сказал Джонатан) прокрутить изображение, которое больше экрана.

Чтобы сделать это без помощи какой-либо причудливой функции, и вы вручную рисуете внутри своего графического метода рисования, я бы подумал об использовании 2 битовых карт, одна в качестве буфера для вашего изображения, а другая для фактического кадра:

  1. Поместите ваш large_image в битовую карту «буфера», а затем создайте другую битовую карту для использованиякак холст и нарисуйте этот холст на экране (того же размера экрана).
  2. Обрежьте изображение large_image по размеру экрана в области растрового изображения, которое вы хотите нарисовать в следующем кадре.Сохраните это обрезанное растровое изображение на холсте.
  3. Нарисуйте это растровое изображение холста.
  4. Снова прокрутите обрезку вашего large_image (переместите значения x и y) в растровое изображение "холста"
  5. повторяйте 3 и 4. пока прокрутка не закончится.

Надеюсь, это понятно, представьте себе, что ваш холст - это камера, позволяющая делать меньшие снимки вашего large_image и перемещать large_image так, чтобы каждый снимок был в последовательностисоздает эффект прокрутки.

Приветствия и надеюсь, что это поможет!.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...