javax.imageio相关内容

有没有一种简单的方法可以减少 IndexedColorModel 中的颜色数量?

我有一个大的 8 位 PNG 图像.我正在使用 Java 将图像切成较小的 32x32 图像.我使用 Java 的 ImageIO 将 PNG 加载到 BufferedImage 中,然后将其称为 getSubimage(x, y, 32, 32).然后我使用 ImageIO 将每个图块写成 PNG. 问题是生成的图像与原始图像具有相同的 IndexColorModel.例如,一个 32x3 ..
发布时间:2021-11-18 22:38:08 Java开发

ImageIO 支持原始图像 (jrawio)

我正在寻找原始图像支持,并找到了这个库 (jrawio-1.6.1),它扩展了 imageio 以添加原始支持.它似乎有效,但速度非常慢.我见过速度更快的蜗牛.我的代码在几秒钟内处理 Jpeg,处理一个不太大的 .cr2 文件或 .nef 需要几分钟.我可能是错的,但我认为它甚至减慢了 tiff 处理速度.最后一个 tiff 文件非常大,所以这也可能是问题所在. 我对这个库的另一个问题是开发 ..
发布时间:2021-11-18 22:38:02 Java开发

Java ImageWriter BufferedImage 转 GIF

希望你们能帮我解决这个问题.我不确定这是 Java 中的错误还是我做错了什么,但我会选择后者. 我想将 BufferedImage 转换为 GIF 图像.然后我希望以字节数组的形式将 GIF 保存在内存中.(我不想将文件保存到磁盘) 程序应该捕获一个屏幕片段(只是为了创建一个快速图像)并使用 ImageIO ImageWriter 和 ByteArrayOutputStream 将其转 ..

使用 ImageIO.write() 方法时如何防止图像质量损失?

我在 java 中处理图像,我在本地磁盘中读取和写入图像.我的问题是在写图像时我失去了我阅读的实际图像的质量.它通过图像文件大小将质量从 6.19MB(实际图像大小)文件降低到 1.22MB(使用 ImageIO.write() 写入,这是巨大的损失.我在使用时如何防止这种损失 ImageIO.write(image, "jpg", os); 用于写入图像.请记住,我在这里不需要任何压缩.只 ..
发布时间:2021-11-18 22:37:53 Java开发

ImageIO.read() 是否考虑 EXIF 方向元数据?

在 JPEG 图像中,有时会包含 EXIF 元数据,并说明图像应该以什么方向显示. 问题是,Java 的 ImageIO.read() 在读取 JPEG 图像时是否将 EXIF 考虑在内,并自动应用转换. 更具体地说,如果我使用 Java 的 ImageIO 将带有 EXIF 的 JPEG 图像转换为 PNG 图像,PNG 图像的方向是否正确?或者下面的代码是否会在不考虑 EXIF 方 ..
发布时间:2021-11-18 22:37:46 Java开发

在java中将图像拼接在一起

我正在尝试使用 java 将一些图像拼接在一起.我有一堆我想拼接在一起的图像,它们的尺寸都相同,所以我想这实际上只是一个将它们排列在一起的问题.我有它的工作,但它很慢,而且可能非常占用内存.我想知道是否有更简单的方法: public static void main(String[] args) 抛出 IOException{int 暗淡 = 256;BufferedImage 合并 = nul ..
发布时间:2021-11-18 22:37:43 Java开发

Java 图像缩放而不将整个图像加载到内存中

我们有一些非常大的 jpg,用于在 A0 打印机上打印. 问题是我们需要将这个大图像转换为缩略图,以便在一些 Java UI 中使用. 有没有办法在不将整个图像加载到内存中的情况下转换图像(使用 Java)?目前,当我们尝试加载图像时,我们会遇到内存不足的异常. 标准代码中是否有任何内容,或者是使用 jmagick 的最佳选择?纯 Java 实现最适合我们的部署. 谢谢 ..
发布时间:2021-11-18 22:37:40 Java开发

Java ImageIO 灰度 PNG 问题

我有一个我想尝试的灰度图像(实际上是“lena").我得到了一个 512x512 PNG 文件,带有 216 种灰度灰色. 当我用 Java ImageIO 读取它时会发生什么,就像这样: 字符串名称 = args[0];文件 fi = 新文件(名称);BufferedImage img = ImageIO.read(fi); 我得到一个只有 154 色的 BufferedImage! ..
发布时间:2021-11-18 22:37:31 Java开发

Java BufferedImage 使用不需要的背景颜色保存

提前感谢您的帮助 说明:该程序绘制、显示和保存图像.它的工作原理如下:对象本身扩展了 Frame.在构造函数中,该对象创建一个 BufferedImage,并调用在该图像上绘制的方法.然后,它将图像显示到框架上.最后,它将图像保存到一个文件中(我不在乎它使用什么格式).主程序创建对象,剩下的由它来做. 问题:保存的文件总是有彩色背景!这特别奇怪,因为显示的图像很好.如果我在 Image ..
发布时间:2021-11-18 22:37:28 Java开发

如何在Java中创建图像

在我的程序中说,我有这个paint()方法.我的愿望是创建所绘制矩形的图像(使用 for 循环).我尝试了下面的方法,它确实给了我那些矩形(蓝色),但背景全是黑色.当我在不创建图像的情况下运行程序时,只需在 JFrame 上绘制矩形,背景为白色.我怎样才能解决这个问题.? public void paint(Graphics g) {super.paint(g);BufferedImage im ..
发布时间:2021-11-18 22:37:25 Java开发

我可以告诉 BufferedImage 最初的文件类型是什么吗?

在我的代码中,我有一个 BufferedImage 加载了 ImageIO 像这样上课: BufferedImage image = ImageIO.read(new File (filePath); 稍后,我想将它保存到一个字节数组,但是 ImageIO.write 方法要求我选择 GIF、PNG 或 JPG 格式来将我的图像写入(如描述在教程这里). 我想选择与原始图像相同的文件类型 ..
发布时间:2021-11-18 22:37:19 Java开发

使用 URL 或文件(在 ImageIO.read 中)

我制作了一个使用多个图像的应用程序.我有两种方式来运行我的应用程序: - 在idea中按run - 制作一个胖 jar 文件并从控制台运行它 java -jar app.jar 如果我想从 Idea 运行它,我必须使用: BufferedImage backgroundImage = ImageIO.read(new File("res/field.png")); 代替 ..
发布时间:2021-11-18 22:37:16 Java开发

使用元数据创建 jpeg 文件

我有一个 Java 应用程序,它创建一个 BufferedImage 并将其以 JPEG 格式保存到磁盘.我真的很想为图像添加标题.为了防止图像被图像本身上的文本挤掉,如果我能将标题写入 JPEG 的元数据,那就太好了. 我一直在到处寻找解决方案,但没有找到任何令人满意的.Sanselan 出现了很多,但我还没有想出如何正确使用它.我找到了修改现有元数据的示例,但我的文件不包含元数据,因为它 ..
发布时间:2021-11-18 22:37:13 Java开发