java - 在 Java 中放大和缩小图像

标签 java image image-processing zooming

我认为这个问题是不言自明的。我想使用 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/

相关文章:

ios - NSData 对象因未知原因为空(保存图像)

matlab - [0, 2^32] 范围或更高范围内的整数值图像。支持 MATLAB 或/和 OpenCV?

java - 未完成的 stub 异常 Mockito

java - 设置命令行构建的 debug.keystore 位置,无需重写 Ant 目标

java - 使用 A* 算法识别最便宜的路径

c# - Unity从文件夹加载媒体并显示在RawImage上

java - 将项目从 Ant 移至 Maven 并将其分解

image - 取消 Docker 镜像标签而不删除它?

php - 如何保存具有特定文件大小的图像?

python - 如何通过结合形状描述符来提高检测精度?