我需要用Java编写一个应用程序,它需要能够操纵图像的像素,而不管图像的格式如何( JPEG , BitMap ,< strong> Gif ,...)。
这意味着我需要访问像素,我还需要计算图像的某些属性,例如尺寸,分辨率,对比度 ,亮度和压缩算法。
我还需要操纵各个像素的位。 现在我需要知道的是,我可以通过纯 Java SE 类来实现这些,还是需要使用第三方库?如果是这样,哪对我最好? JAI , ImageJ ,......?
答案 0 :(得分:4)
查看Java Advanced Imagining API FAQ,您应该能够决定是否要使用本机Java API或第三方库。 (操纵像素的概念在复杂性方面可能会有很大差异。您提到的示例并不困难,但其他操作可能不同。)获取大小,分辨率和压缩算法有点微不足道,因为它们是您在图像处理中使用的对象的所有属性。 (虽然分辨率是相对的。)使用对比度和亮度更复杂但不多。见here for an interesting sample。 Java2s有许多可用的Java图像处理片段。
这是常见问题解答中的link directly to the Supported File Formats section。
JAI Hello World:
PlanarImage source = JAI.create("fileload", file);
此功能自动确定 文件格式并生成图像 可以显示的对象或 处理。