Html-холсты имеют максимальные размеры в зависимости от устройства/браузера. Например, некоторые мобильные телефоны имеют примерно 1000x1000 холстов макс. Как насчет изображений, хранящихся в памяти? Могут ли они быть в баране телефона/ПК? Можете ли вы рисовать большие изображения на эти 1000x1000 холстов, где он делает автоматическое обрезку? (У меня нет телефона, чтобы проверить это даже для определенного устройства.)
Максимальный размер объекта изображения, вероятно, зависит от браузера или памяти.
Больше на ваш вопрос...
Объект изображения, который вы рисуете в холсте, может быть больше холста.
Это приводит к тому, что холст становится "видовым экраном" в изображении.
Например:
Если вы сделаете это, пиксели изображения будут обрезаны с помощью x> 1000 и y> 1000.
// canvas shows image pixels from x=0-999 and y=0-999
drawImage(yourImage,0,0)
Если вы сделаете это, пиксели изображения будут обрезаны с помощью x <200 & x> 1200 и y <200 и y> 1200.
// canvas shows image pixels from x=200-1999 and y=200-1999
drawImage(yourImage,-200,-200)
Умственное упражнение, чтобы понять, как это работает, - это представить себе кусок бумаги с прямоугольным "видовым экраном", вырезанным из него. Затем переместите изображение большего размера, чем изображение. Только часть изображения будет видна только через окно просмотра. Вы можете перемещать изображение, и другая часть изображения будет отображаться в окне просмотра.