问题标签 [javax.imageio]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何在具有透明度的 java BufferedImage 中读取像素颜色
我正在读取 BufferedImage 中的像素颜色,如下所示:
现在这工作正常,除了具有透明度的png。我发现如果 x,y 指的是没有颜色的透明像素,我仍然会读取一种颜色,通常与图像中其他地方使用的颜色相同。
如何检测像素实际上是透明的而不是彩色的?
谢谢
java - 使用 Java (ImageIO.write()) 将 PNG 转换为 JPG 的问题
我正在使用 ImageIO.write() 将 PNG 文件转换为 JPG。出于某种原因,我的结果图像上面有一个粉红色的图层。我已经广泛搜索了解决方案,但没有找到任何解决方案。该代码适用于除 PNG 以外的所有其他类型的图像。
java - PNG转JPG Java ImageIO问题
我尝试了下面的两行代码均无济于事。该代码适用于 jpg 或 gif,但如果是 png 则将图像变为粉红色。
还有其他人遇到这个问题吗?我一直无法找到解决方案。
java - 有没有一种简单的方法可以减少 IndexedColorModel 中的颜色数量?
我有一个大的 8 位 PNG 图像。我正在使用 Java 将图像切成更小的 32x32 图像。我使用 JavaImageIO
将 PNG 加载到 a 中BufferedImage
,然后将其称为getSubimage(x, y, 32, 32)
. 然后,我使用ImageIO
将每个图块写为 PNG。
问题是生成的图像IndexColorModel
与原始图像相同。例如,一个 32x32 的图块总共只有 8 种颜色,但它包含一个颜色模型,其中包含来自原始图像的所有 100 多种颜色。
IndexColorModel
在我写出 PNG 之前,我想从 32x32 瓷砖中删除未使用的颜色。包含图像中未使用的颜色的颜色数据是没有意义的,我希望图像尽可能小。
是否有内置机制来执行此操作,或者有人可以指出我的(简单)方法来修改/减少ColorModel
?
谢谢!
java - ImageIO 读取是否意味着抗锯齿缩放?
我已经使用 ImageIO 将 Java 内部 ImageFetcher 替换为自己的实现。我们软件的一些使用这些图像的图像渲染器现在绘制抗锯齿缩放图像而不是非抗锯齿图像。唯一的变化是图像的来源,现在是 BufferedImages 而不是 Toolkit-Images。
现在的问题是,区别在哪里?哪个属性导致图像缩放抗锯齿?我一直认为抗锯齿键只取决于我绘制的图形——但这显然是错误的。
顺便说一句:不幸的是,我无法更改渲染器。
java - 无法使用 Java ImageIO 标准库读写 TIFF 图像文件
我不知道如何处理 TIFF 图像,但我无法使用直接的 Java 标准 ImageIO 库读取或写入其中任何一个。有什么想法吗?
谢谢。
java - Java 转换/类加载器问题
这是问题的简化版本:
并非总是如此,但有时会触发异常
这怎么可能 ?我想这与 JAI imageio 是本机库这一事实有关,但中继这怎么可能发生?我可能错过了一些东西,但是什么?
这是原始代码
和原来的例外
java - Java ImageIO:我可以将 PNG-24 文件转换为 PNG-8 吗?
场景是这样的:webapp 的用户可以通过选择自己的标志图像、背景颜色和背景图像来自定义网站。
问题是 IE6 不支持透明 PNG。我已经尝试了几种客户端解决方案,但都在一个方面或另一个方面有所不足(大多数不支持 css 属性background-repeat
)。
我正在寻找在服务器上创建两个单独图像的替代解决方案,一个用于现代、透明-png 兼容的浏览器,一个用于 IE6。
问题是,我可以用 来完成这个ImageIO
吗?基本上,我会检测图像是否为 PNG-24 格式并将其转换为 PNG-8(IE6 支持)。
java - 使用 java imageIO 重新采样时 jpeg 已损坏
ImageIO 生成的 JPEG 图像在 windows 文件资源管理器和 safari 网络浏览器上正确查看,但在 FireFox 中,重新采样的图像被剪裁。
如何在不破坏重采样的情况下使用 ImageIO?
代码应该调整图像大小以保持纵横比,以及进行 jpeg 压缩,将其转换为字节 [] 数组,该数组可以写入套接字。
我的一些代码。在这个片段中,我尝试添加 Jui 库,但仍然是同样的问题。
java - Java ImageIO:如何从文件中读取 BufferedImage,以便它使用 DataBufferFloat?
我需要BufferedImage
从文件中读取一个不使用DataBufferInt
(通常)的文件,但是DataBufferFloat
.
请注意:我不只是需要一些独立DataBufferFloat
的,而是真的需要一个BufferedImage
基础的DataBufferFloat
。
围绕这些东西的 API 非常复杂,我只是找不到如何做到这一点。
请帮忙。
编辑
发现什么不起作用: