问题标签 [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 - 压缩JPG使图像变绿
当我尝试压缩 jpg 图像时,大多数情况下它工作得很好,但是一些 jpg 图像在压缩后变成绿色。这是我的代码
java - 将 0-256 范围内的二维 int 数组转换为灰度 png?
如何将二维整数数组转换为灰度 png。现在我有这个:
但图像是蓝色的。我怎样才能使它成为灰度。
image[][] 包含范围从 0-256 的整数。
cocoa-touch - UIWebView 加载错误
每当我在 UIWebView 中加载页面时,我都会在控制台中收到此错误
它被记录了好几次,但在页面按预期加载时似乎没有任何影响。
这是我用来加载页面的代码:
任何想法这个错误意味着什么?
java - 在 jpeg 中保存色彩空间
我有一个 servlet 来转换和缓存较小版本的照片。它是使用 java.awt.image + javax.imageio 和第三方重采样过滤器实现的。原件均使用 sRGB 颜色配置文件上传。当我重新采样它们并再次保存它们时,它们仍然在 sRGB 中,但这并没有记录在保存的文件中。
如何确保此信息保存在文件中?
如果您想知道它会有所不同,那么在我的屏幕(Safari + OSX + Calibrated 屏幕)上,没有配置文件的图像比具有正确 sRGB 配置文件的图像更加饱和。此外,我确定这是缺少配置文件信息,而不是重采样算法。
java - PNG编码器 - 添加自己的过滤器实现
我目前正在自己实现 PNG 过滤器。我正在使用神经网络来尝试创建比当前现有的 PNG 过滤器更好的预测:
- 0 - 无
- 1 - 子
- 2 - 向上
- 3 - 平均
- 4 - 帕斯
- 5 -我的实现(使用神经网络预测)
欲了解更多信息:http ://www.w3.org/TR/PNG/#9Filters
我已经看过几个图书馆:
- pngcrush (在 c.. 中实现)
- Keypoint - PngEncoder (是我目前最喜欢的)
- ObjectPlanet - PngEncoder (我必须为 src 支付 1000 美元.. :P)
还有一些。但是我现在的问题是,您知道其他一些 PNG 编码器(用 Java 编写),可以很容易地添加自己的过滤器实现,或者是否有其他可能使用我自己的过滤器?
非常感谢您的回答!
java - 如何从 IIOMetadata 获得图像压缩质量?
使用ImageIO
通用保存新图像时,无论使用何种图像压缩算法(例如 png、jpeg、gif),都支持从范围(高压缩)到(高质量)ImageWriteParam
的参数显式设置。compressionQuality
0.0f
1.0f
- 有没有办法
compressionQuality
从现有图像中读取? - 该
compressionQuality
写入参数是否只是一个提示,ImageWriter
而不是存储在图像元数据的任何地方?如果这是真的,图像处理软件(例如 GIMP)如何设法在“另存为”对话框中提供以下选项?
我设法读取IIOMetadata
并ImageInputStream
遍历它metadataFormatNames
以打印出不同 XML 格式(javax_imageio_1.0
通常是原生和标准)的图像元数据。compressionQuality
虽然我在那里找不到任何图像的迹象。
java - Java:使用 javax.imageio.ImageIO.read() 加载没有索引的 png 图像(作为 BufferedImage.TYPE_4BYTE_ABGR)
我正在尝试使用 javax.imageio.ImageIO.read() 方法加载 PNG 图像。但是,我希望结果类型为“BufferedImage.TYPE_4BYTE_ABGR”,但它最终成为索引图像(“BufferedImage.TYPE_BYTE_INDEXED”)。当原始图像被索引时,有什么方法可以将图像加载为未索引?大约有 120 张图像,因此手动将它们全部取消索引需要很长时间。
java - 为什么 ImageReader 返回不正确的 BufferedImage?
我正在尝试访问具有 21 帧的动画 GIF 图像,然后读取第 12 帧(因为它从 0 开始?)帧。
读者应该返回一个高度为 220 和宽度为 200 的缓冲图像(如果忽略图像周围的白色字段,则为高度 205 和宽度 188)。但它的作用是返回给我一个高度为 155 和宽度为 174 的图像,这是荒谬的,因为我进行了三次检查,并且框架 12 的高度为 220 和宽度为 200。我在阅读框架时做的一切正确吗?
java - Javax ImageIO IIOException 显然没有理由
大家好,我有一个Java问题。对于我的高级研究课程,我几乎完成了,但我只需要分析我生成的图像中的一些数据。我不想将其标记为家庭作业,因为它不是任何必需作业的一部分……这是我自己想出的收集结果的东西。我编写了一个程序,逐像素比较两个图像。它对两个目录中的所有 .bmp 文件执行此操作。现在,我的程序将文件名读入一个字符串数组,并检查了所有文件名的值,所以我知道最初可以正常访问目录和文件名。这是有问题的代码:
...rest of code
现在,当我将目录更改为相同时,程序运行,并检测到所有像素都是 100% 相似的(因为它应该,所以我知道程序做了我想要它做的事情)。这是错误:
Exception in thread "main" javax.imageio.IIOException: Can't read input file!
at javax.imageio.ImageIO.read(Unknown Source)
at PixelCompare.main(PixelCompare.java:22)
我尝试了不同的目录无济于事。可能与 .bmp 文件有关吗?什么可以让一组 BMP 读得很好,而另一组却不能工作?我可以在其他程序中打开所有需要的文件,因此它们不会损坏。所有属性似乎都相同。一个目录是用 Gimp 手工制作的(这些读起来很好),另一个是由基于 Java 的程序生成的。这些可以在 Gimp、Paint、Photoshop 等中读取,但它们不会在我的代码中读取。
非常感谢任何帮助,谢谢!
编辑:忘记使用还原代码...我搞砸了,然后发布了一些错误的版本。已修改以显示其他功能代码的原始问题。进一步描述问题:如果您将两个目录都更改为在 testExpect2 文件夹中查找 expectedFiles[] 中的文件列表,它将成功运行。此外,System.out.println(actualFiles[i]
在错误发生之前打印正确的文件名,所以我知道正确的文件正在被读入字符串数组。
java - 图像 IO 问题
这段代码制作了一个 96dpi 的图像,但源图像是 72 dpi!为什么