![]() |
1
2
我使用了ImageIO和ImageInfo库来实现类似的功能。到目前为止还不错。 http://java.sun.com/javase/6/docs/api/javax/imageio/ImageIO.html http://kickjava.com/src/imageinfo/ImageInfo.java.htm 我记得在获取图像大小并因此必须使用IMAGE信息时,使用原生Java库有一些性能问题。 希望这有帮助。 |
![]() |
3
2
Josh 这正是我写的 imgscalr (Apache 2)为 this app -到目前为止,世界各地已经处理了几十万张图片,但没有任何损坏的结果报告。 当我第一次开始研究Java中的图像缩放时,我看到了你在这里搜索到的东西…200个问题问同一件事,50个不同的方法,其中25个显然是“错的”,而且很头疼。 我真的很喜欢解决这样的问题,所以我坐下来收集所有的反馈、所有的bug报告、所有的提示、所有的技巧和人们遇到的所有问题,并将它们汇编成一个超级简单的, 1-class API 这对你来说“一切都很好”。 最简单的API用例如下:
但是考虑到你想要做一些非常小的不同的尺寸,你需要使用克里斯坎贝尔(Java2d团队)推荐的增量缩放技术的质量缩放方法,并将预先定义的卷积应用到结果中,以稍微软化缩略图,因为它太小了。 例子:
如果您不想,您不需要同时提供w/h,图像的比例始终保持不变,边界用作边界框,以确保图像至少适合它(但不会违反图像的比例)。 如果你曾经用卷积的方法来尝试软化图像,你知道找到合适的内核,它足够锋利,看起来很好,但足够柔软,可以去掉锯齿,你知道这是一个皇家的皮娅——我有一个 predefined 图书馆是与巴西的一个社交网站合作一周的结果,该网站利用图书馆来缩放个人资料图片,我认为我们把它定位了。 当然,您可以将它作为一个起点并提供自己的scaler类,它允许您传递任何BufferedImageOp,它将自动应用于生成的缩放图像(并解决导致图像损坏的6岁JDK错误)。 这个库还为您做了许多其他“最佳实践”的事情,比如确保尽快刷新增量图像以减少内存使用,而不是丢弃虚拟机,始终将图像保存在支持的最佳图像类型中,这样就永远不会使用Java2d中的软件管道(当人们上载GI时,您可能已经注意到了这一点)。fs如果您使用的是手工代码,那么最终看起来像垃圾——imgscalr修复了这个问题),以及其他一些符合我对“一切都做对了”库的要求的细节。 希望有帮助。 |
![]() |
4
0
从 a related source in the Swing tutorial :
|
![]() |
5
0
从我们的Java门户页面之一的实用功能 (从几个论坛的示例中编码,我不声称是作者)
希望这有帮助
} |
|
user29759326 · 如何返回递归函数中的最后一个值? 7 月前 |
|
malife89 · 将java中的字符串读取为正确的日期格式 7 月前 |
![]() |
Tim · 在java中,有没有更快的方法将字节数组写入文件? 7 月前 |
![]() |
rudraraj · java中未声明最终变量 8 月前 |
![]() |
Bala Ji · 以下BFS的实施效率如何? 8 月前 |