用Java放大和缩小图像

And*_*ndy 4 java image zoom image-processing

我认为这个问题非常明显.我想JSlider在Windows Live Photo Gallery中使用类似的实现简单的缩放功能.

我在网上看了一下,但是当我把它复制到Eclipse时,我尝试使用的所有代码都有错误.我真的不想使用第三方库,因为该应用程序可能以公司名称出售.另外,我开始意识到可能需要一些安全预防措施来防止错误,但我不知道这些会是什么.

因此,如果有人可以提供一些Java代码来放大和缩小图像,那将非常感激.

PS我计划将图像作为一个ImageIcon内部JLabel添加到一个JScrollPane.

GET*_*Tah 9

您可以通过在原始图像上使用缩放变换轻松实现此目的.假设您当前的图像宽度newImageWidth,当前图像高度newImageHeight和当前缩放级别zoomLevel,您可以执行以下操作:

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();
Run Code Online (Sandbox Code Playgroud)

现在,originalImage在您的显示区域中替换原始图像resizedImage.