我认为这个问题是不言自明的。我想使用 JSlider
实现一个简单的缩放功能,例如在 Windows Live 照片库中。
我在网上快速浏览了一下,但是当我将我尝试使用的所有代码复制到 Eclipse 时,它们似乎都存在错误。我真的不想使用第三方库,因为应用程序可能以公司名称出售。另外,我开始意识到可能需要采取一些安全预防措施来防止错误,但我不知道这些措施是什么。
因此,如果有人能提供一些 Java 代码来放大和缩小图像,我将不胜感激。
附言我计划将图像用作 JLabel
内的 ImageIcon
,它将添加到 JScrollPane
。
最佳答案
您可以通过对原始图像使用缩放变换轻松实现这一点。
假设您当前的图像宽度 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();
现在,将显示区域中的原始图像 originalImage
替换为 resizedImage
。
关于java - 在 Java 中放大和缩小图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9342233/