При попытке масштабировать изображение, нарисованное на холсте, я наткнулся на Graphics2D.drawImage(originalImage)
[объект Graphics2D, полученный из объекта BufferedImage].
Я использовал его для рисования изображения в графике, созданной из BufferedImage
, теперь это новое изображение можно было нарисовать на графическом объекте панели / рамки, чтобы получить увеличенное изображение.
Я заполнил исходное изображение, используя BufferedImage.setRGB
.
Итак, что на самом деле делает? Это выборочно пропускает пиксели из исходного изображения?
Аналогично этому коду.
int newImageWidth = imageWidth * zoomLevel;
int newImageHeight = imageHeight * zoomLevel;
BufferedImage resizedImage = new BufferedImage(newImageWidth , newImageHeight, imageType);
Graphics2D g = resizedImage.createGraphics();
g.drawImage(originalImage, 0, 0, newImageWidth , newImageHeight , null);
g.dispose();
Оригинальный ответ на вышеуказанный код