Jak narysować część dużego obrazu BufferedImage?

Mam 10000x10000BufferedImage i chcę wyciągnąć tylko jego część doCanvas, czy istnieje sposób na zrobienie tego za pomocą argumentów takich jak:

x, y, width, height ?

Na przykład drawImage (img, x, y, width, height) narysuje prostokąt z obrazu zaczynającego się od (x, y) i mającego (szerokość, wysokość) wymiary?

EDYTOWAĆ:

Zmienię to pytanie:

Mam obraz 10000x10000 i chcę tylko wyświetlić jego część na ekranie, problem z przesunięciem go o x i y polega na tym, że wciąż powoduje opóźnienie, gdy cały obraz jest renderowany, tylko większość poza płótnem. Jak mogę to zrobić, aby cały obraz był renderowany, ale mogę go przewijać bez powodowania opóźnienia płótna?

questionAnswers(3)

yourAnswerToTheQuestion