imageIO.read 在读取图片的时候可能会不正确的读取图片的ICC信息,
所以当这种情况不能用ImageIO读取图片文件
使用java中自带jdk
ICC为JPEG图片格式中的一种头部信息,导致渲染图片前景色时蒙上一层红色。
Image src=Toolkit.getDefaultToolkit().getImage(file.getPath());
BufferedImage image=BufferedImageBuilder.toBufferedImage(src);
public static BufferedImage toBufferedImage(Image image) {
if (image instanceof BufferedImage) {
return (BufferedImage) image;
}
image = new ImageIcon(image).getImage();
BufferedImage bimage = null;
GraphicsEnvironment ge = GraphicsEnvironment
.getLocalGraphicsEnvironment();
try {
int transparency = Transparency.OPAQUE;
GraphicsDevice gs = ge.getDefaultScreenDevice();
GraphicsConfiguration gc = gs.getDefaultConfiguration();
bimage = gc.createCompatibleImage(image.getWidth(null),
image.getHeight(null), transparency);
} catch (HeadlessException e) {
}
if (bimage == null) {
int type = BufferedImage.TYPE_INT_RGB;
bimage = new BufferedImage(image.getWidth(null),
image.getHeight(null), type);
}
Graphics g = bimage.createGraphics();
g.drawImage(image, 0, 0, null);
g.dispose();
return bimage;
}
相关推荐
在Java编程中,图片处理是一项常见的任务,而`ImageIO`类是Java标准库提供用于读取、写入和操作图像的重要工具。本篇将详细探讨`ImageIO.read()`方法的相关知识点,以及如何解决可能遇到的问题。 `ImageIO`类位于`...
在Java编程环境中,图片处理是一项常见的任务,但有时可能会遇到“javax.imageio.IIOException: Unsupported Image Type”的错误。这个异常通常表示Java的`ImageIO`类库无法识别或支持所尝试读取或写入的图像格式。...
OCR(Optical Character Recognition,光学字符识别)技术是将图像中的文本转换为机器可读格式的关键工具,而`com.sun.media.imageio.plugins.tiff.TIFFImageWriteParam`则是Java中处理TIFF图像格式时的一个关键类,...
1. **读取图像**:使用`javax.imageio.ImageIO.read()`方法,可以读取各种支持的图像格式,如JPEG、PNG等,添加WebP插件后,也可以读取WebP格式。 2. **写入图像**:`javax.imageio.ImageIO.write()`方法用于将...
标题中的“tesseract识别中文的com.sun.media.imageio.plugins.tiff.TIFFImageWriteParam.rar”指出这是一个与Tesseract OCR相关的压缩包,包含了用于处理中文的资源和参数,特别是与TIFF图像格式有关的写入参数。...
《ImageIo.dll:图片处理与格式转换的核心组件》 在计算机编程领域,图像处理和格式转换是不可或缺的部分,尤其在多媒体应用、图形设计以及数据分析等领域。ImageIo.dll库作为一个重要的动态链接库(DLL),它为...
javax.imageio-1.0.5.jar, java处理图片的库。 从maven中央仓库下载的。实测可用。
1. **读取 WebP 图像**:通过 ImageIO.read() 方法,可以像读取其他格式的图像一样读取 WebP 图像,无需关心底层的解码过程。 2. **写入 WebP 图像**:利用 ImageIO.write() 方法,将 Java 中的 BufferedImage 对象...
总结起来,使用ImageIO.writer从BufferedImage生成JPEG图像时,应当遵守Java的规范和API的使用限制。在不同版本的Java环境中,需要小心处理可能遇到的兼容性问题。同时,要注意图像处理过程中可能遇到的异常,并编写...
在Java开发领域,图像处理是一项不可或缺的任务,而Java自带的ImageIO类库虽然基础功能完备,但在处理某些特定格式或者需要高级功能时,其能力显得较为有限。此时,第三方库如TwelveMonkeys ImageIO就显得尤为重要。...
2. **使用ImageIO.read()**: 要读取图片,首先需要导入`javax.imageio.ImageIO`和`java.awt.image.BufferedImage`。然后,你可以使用`ImageIO.read(file)`方法,其中`file`是一个指向图像文件的`File`对象。例如: ...
java高级图片处理工具 jai-imageio,可以修改图片分辨率等
java环境下生成webp文件所用到的库,libwebp-imageio.so for Linux,webp-imageio.dll for Windows,webp-imageio-1.0.0.jar for java project。项目文件:https://bitbucket.org/luciad/webp-imageio
2. 动画处理:除了静态图像,imageio还可以处理GIF、视频等动态内容,`imageio.mimread()`和`imageio.mimwrite()`用于读写动画。 3. 实时捕获:imageio能直接从摄像头或其他视频源实时捕获帧,这对于视频分析和处理...
【标题】"webp-imageio.7z" 是一个压缩包文件,主要包含了与WebP图像处理相关的组件和工具。WebP是一种由Google开发的高效图像格式,它旨在提供更小的文件大小,同时保持良好的图像质量,适用于网页和其他网络应用。...
通过`ImageIO.read()`方法,我们可以加载图像文件并获取其元数据,其中就包含了图片的宽度和高度,即分辨率。以下是一个基本示例: ```java import javax.imageio.ImageIO; import java.awt.image.BufferedImage; ...
在这个例子中,`ImageIO.read()`方法能够正确识别并读取CMYK模式的JPEG图片,而无需任何额外的配置或代码。 通过分享这个rar压缩包,我们可以看出开发者在寻找适用于CMYK模式的Java图像处理解决方案时遇到了困难,...
可以使用`ImageIO.read()`方法读取PNG数据,该方法会自动完成解码过程,将原始的字节流转换为Java的`BufferedImage`对象。 5. **处理非标准PNG**:由于iOS可能会对PNG图像进行一些特定的编码,可能需要使用第三方库...
在Java编程语言中,读取图像的分辨率是一项常见的任务,特别是在处理图形用户界面(GUI)或者图像处理项目时。要实现这一功能,我们需要利用Java的内置库`javax.imageio`和`java.awt.Image`。本篇文章将详细讲解如何...
Exception in thread “main” javax.imageio.IIOException: Can’t read input file!:无法读取输入文件! 原可以从两个方面分析: 路径中文乱码问题 target/classes文件夹中并没有找到图片 加粗样式看下代码: ...