Java 如何以相同的质量调整imageicon的大小

Java 如何以相同的质量调整imageicon的大小,java,resize,imageicon,Java,Resize,Imageicon,我目前正在制作一个应用程序来管理windows上的其他应用程序 当我调整图标大小时,它会改变质量 我用这个密码得到了一个图标 ShellFolder shell=ShellFolder.getShellFolder(新文件(load1.getString(“路径”)); image=shell.getIcon(true) 当我调整它的大小时,它会改变质量。 我的调整大小代码是 sIMG=image.getScaledInstance(45,45,image.SCALE\u AREA\u平均值)

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

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

我用这个密码得到了一个图标

ShellFolder shell=ShellFolder.getShellFolder(新文件(load1.getString(“路径”));
image=shell.getIcon(true)

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

sIMG=image.getScaledInstance(45,45,image.SCALE\u AREA\u平均值)

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


请提供帮助。

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

$thumb = new Imagick();
$thumb->readImage('myimage.gif');    $thumb->resizeImage(320,240,Imagick::FILTER_LANCZOS,1);
$thumb->writeImage('mythumb.gif');
$thumb->clear();
$thumb->destroy(); 
有关更多信息,请转到以下链接


我假设您希望重新调整图标的大小,使其看起来相同,无论您将其更改为什么大小。常规图像将由像素组成,因此质量损失是不可避免的

当我在学校做网页设计项目时,我学习了矢量图像(.svg)。 矢量与位图的摘要

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

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

此链接还允许您将现有图像转换为SVG

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

您是否在问,如果更改图标的大小,如何不损失图标的图像质量?很难猜到您真正想要在这里实现什么,但当您使用
ShellFolder
类时,我想您需要本机操作系统的图标。不幸的是,
ShellFolder
类只提供16x16或32x32(“大”)图像。要获得更大的图标,您需要某种本机集成。我认为这样一个库已经存在,如果不存在,那么使用JNA编写一个快速接口应该相当简单。很抱歉,您可以使用以下链接查看java调整imags@quicksoft的大小。我也使用该方法,但我不会解决我的问题。我有没有办法将其用于我的独立应用程序?使用此工具包,您应该能够。还找到了本教程,它似乎比文档简单,请尝试并报告。你能发布你的尝试吗?如果可能的话,你能发布一个链接到你试图重新调整大小的图标吗?我还可以告诉你们一件事,这可能会让你们的工作更容易,那个就是若你们能找到相同的图像,除了更大的图像,它会带走很多压力。质量不会因为收缩而损失。使用更大的图像和更小的图像可能比反之亦然更有益。