javax.imageio相关内容

为什么 Java ImageIO 在不同的机器上生成不同的图像(linux vs Windows)?

我在 Windows 和 Linux 上使用 javax.imageio 从文本字符串生成图像,我发现图像质量非常不同(Linux = 质量差,物理尺寸小,但尺寸相同). Linux (Ubunutu),443 字节 Windows 7,1,242 字节 我使用相同的字体文件(来自 Windows,上传到 linux),并使用此代码生成图像.知道如何提高 linux 生成的图像的 ..
发布时间:2021-11-18 22:39:22 Java开发

ImageIO读取中的控制缓存是什么意思

我唯一担心使用 BufferedImage 对象的是,对于 60000x32000 的非常大的图像,它会导致 JVM 在有限的 JVM 堆空间上以 OOM 关闭.然而,ImageIO.read 方法的 JavaDocs 说明了一些关于“控制缓存"的内容. 在这种情况下什么是控制缓存? 这是否意味着 ImageIO.read 对大图像使用磁盘上的图像缓存? 参考下面的JavaDoc ..
发布时间:2021-11-18 22:39:19 Java开发

ImageIO.read无法读取ByteArrayInputStream(图像处理)

我正在尝试读取图像文件,将其转换为字节数组,处理各个字节,然后将其转换回图像文件并导出. 我已经尝试过,但似乎 ImageIO.read 无法读取 ByteInputArrayStream - 它返回 null. 这是我迄今为止尝试过的(以及引发错误的行) public static void RGBToGrayManual2(BufferedImage original) {byt ..
发布时间:2021-11-18 22:39:09 Java开发

在 jpeg 中保存色彩空间

我有一个 servlet 来转换和缓存较小版本的照片.它是使用 java.awt.image + javax.imageio 和第三方重采样过滤器实现的.原件均使用 sRGB 颜色配置文件上传.当我对它们重新采样并再次保存它们时,它们仍然是 sRGB 格式,但这并未记录在保存的文件中. 如何确保这些信息保存在文件中? 如果您想知道这有什么不同,那么没有配置文件的图像在我的屏幕(Safa ..
发布时间:2021-11-18 22:39:05 Java开发

使用 javax.imageio 读取 jpeg 或 gif 元数据

我想修改某些类型的图像(png、jpeg 或 gif)的元数据,并且我在这个 主题,由 haraldK 提供.但是,当我尝试在 jpg 图像上运行它时,它会引发此错误:javax.imageio.IIOException:JFIF APP0 必须是 SOI 之后的第一个标记.到达IIOImage image = reader.readAll(0, null); 行时抛出错误 我该怎么做才能让它 ..
发布时间:2021-11-18 22:39:02 Java开发

如何调整目录中的图像大小?

此代码尝试在名为“imgs"的目录中调整图像大小.不幸的是,由于某种原因,当我取消对 listFiles(..) 循环的注释时 ImageIO.read(sourceImageFile) 将返回 null.然而,在循环外直接处理相同的文件 (res("imgs/foto_3.jpg")) 有效.很明显,这个循环阻止了文件被读取.解决方案? import java.awt.image.*;导入 j ..
发布时间:2021-11-18 22:38:59 Java开发

读取灰度PNG图像文件而不失真

我需要读取和处理大量灰度的 PNG 文件.我的意思是,如果它们在 Photoshop 或 GIMP 中打开,图像模式是灰度 - 而不是具有灰度值的 RGB 图像. ImageIO 似乎没有实现这一点.它似乎将所有图像文件视为 sRGB.这会破坏灰度值.我需要读取和处理这些 PNG 文件,其中(在我的代码中)每个像素的值与我在 Photoshop 或 GIMP 中打开灰度文件的值完全相同.请问 ..
发布时间:2021-11-18 22:38:57 Java开发

为什么 ImageIO.read() SOOO 慢?

所以我试图从流中获取 PNG 图像. image = ImageIO.read(inputStream); 而且这段代码运行了十秒钟!我认为问题出在缓慢的 InputStream 上,所以我尝试先将其加载到缓冲区中. byte[] bytes = inputStreamToBytes(inputStream);image = ImageIO.read(new ByteArrayInputSt ..
发布时间:2021-11-18 22:38:53 Java开发

在 Java 中通过套接字发送图像的有效方法

我有点 Java 菜鸟,我已经阅读了一些关于套接字的基础知识,我可以使用 ImageIO 通过套接字成功发送图像,但我想减少发送的数据量.最终,我希望以尽可能小的文件大小尽快发送图像(屏幕截图). 现在,我已经设置了 imageIO; DataInputStream in=new DataInputStream(client.getInputStream());DataOutputStre ..
发布时间:2021-11-18 22:38:46 Java开发

ImageIO read()和write()操作后GIF图片出错

我有这个代码.它只是读取一个 GIF 文件,用背景重新绘制它并输出到一个新的 GIF 文件. 问题是结果文件变得奇怪.我不知道为什么它变得质量差.该问题不会发生在 JPG 文件上.如何解决? import java.awt.Color;导入 java.awt.Graphics2D;导入 java.awt.Rectangle;导入 java.awt.image.BufferedImage;导 ..
发布时间:2021-11-18 22:38:43 Java开发

从 java InputStream 打开图像文件

我正在尝试使用运行程序的计算机的默认图像查看器打开打包在 .jar 文件中的图像文件. 我找到了很多关于如何使用 InputStream 访问打包在 jar 中的文件的答案,但我如何使用 InputStream 打开这些文件? InputStream imageStream = Test.class.getClass().getResourceAsStream("/test/DSC_628 ..
发布时间:2021-11-18 22:38:33 Java开发

在 BufferedImage 上执行 setRGB 会将像素更改为黑色而不是颜色

** 重要更新,见下文!** 我正在创建一个程序,当该像素满足 Java 中的一组条件时,该程序会将 BufferedImage 的像素更改为某种颜色.但是,当我将图像写入磁盘时,应该着色的像素变为黑色. 首先我定义颜色,使用 RGB 代码: Color Purple = new Color(82, 0, 99);int PURPLE = Purple.getRGB(); 然后我将 ..
发布时间:2021-11-18 22:38:30 Java开发

用 Java 读取 JPEG

我正在尝试将 JPEG 转换为 BufferedImage 以显示在 JPanel 上.但是,javax.imageio.ImageIO.read() 似乎对它处理的 JPEG 非常挑剔,经常抛出 IIOException.几乎所有您想命名的图像阅读器都可以正常打开相同的 JPEG. 我看过 Apache 的 Sanselan 和 JAI.但是 Sanselan 无法处理 JPEG,并且 J ..
发布时间:2021-11-18 22:38:21 Java开发