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