如何调整相同质量的图像大小

时间:2014-05-19 16:28:48

标签: java resize imageicon

我目前正在制作一个应用程序来管理Windows上的其他应用程序。

当我调整图标大小时,它会改变质量

我正在通过此代码获取图标

ShellFolder shell = ShellFolder.getShellFolder(new File(load1.getString("Path"))); image = shell.getIcon(true);

当我调整大小时,它会改变质量。 我的调整大小代码是

sIMG = image.getScaledInstance(45, 45, Image.SCALE_AREA_AVERAGING);

我想做些什么来保持图标的质量。

请帮忙。

2 个答案:

答案 0 :(得分:1)

我假设你想重新调整你的图标大小,无论你改变它的大小,都要看起来一样。常规图像将由像素组成,因此质量损失是不可避免的。

当我在我的学校进行网页设计项目时,我了解了矢量图像(.svg)。 Vector Vs Bitmap摘要 http://etc.usf.edu/techease/win/images/what-is-the-difference-between-bitmap-and-vector-images/

当然,如果我错了,请任何人纠正我,但我认为向量是你实现目标的唯一方法,假设我理解你的问题。矢量图像质量在重新调整大小时不会发生太大变化或根本没有变化。

Java本身不支持矢量图像,但遵循本教程,您应该实现目标。 (这不是一个更像复制和粘贴的教程)

http://plindenbaum.blogspot.com/2009/07/simple-java-based-svg-renderer.html

此链接还可让您将现有图像转换为SVG

http://vectormagic.com/home

(注册时可获得2次下载)还有其他工具可以转换为SVG,但这是我能找到的最快的解决方案。如果你对Photoshop很好,我想我看过一些教程,但不要引用我。 我希望这是你想要的好运。

答案 1 :(得分:-2)

您可以通过以下代码调整任何图像的大小。

$thumb = new Imagick();
$thumb->readImage('myimage.gif');    $thumb->resizeImage(320,240,Imagick::FILTER_LANCZOS,1);
$thumb->writeImage('mythumb.gif');
$thumb->clear();
$thumb->destroy(); 

有关详细信息,请转到以下链接。

resize image

resize optimized image