Wie zeichnet man einen Teil eines großen BufferedImage?

Ich habe eine Auflösung von 10000 x 10000BufferedImage und ich freue mich nur einen teil davon auf einen zu zeichnenCanvasGibt es eine Möglichkeit, dies mit Argumenten wie den folgenden zu tun:

x, y, width, height ?

So würde beispielsweise drawImage (img, x, y, width, height) ein Rechteck aus dem Bild zeichnen, das bei (x, y) beginnt und (width, height) als Abmessungen hat.

BEARBEITEN:

Ich werde diese Frage umformulieren:

Ich habe ein Bild mit einer Auflösung von 10000 x 10000 und möchte nur einen Teil davon auf dem Bildschirm anzeigen. Das Problem beim einfachen Versetzen um x und y ist, dass dies immer noch zu Verzögerungen führt, da das gesamte Bild gerendert wird, nur der größte Teil davon außerhalb der Leinwand. Wie kann ich es im Grunde so gestalten, dass das gesamte Bild gerendert wird, aber ich kann darüber scrollen, ohne dass die Leinwand verzögert wird?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage