Tag: javax.imageio

使用Java创建分层Tif以在Photoshop中使用

我很有趣用Photoshop创建一个分层的tif,Photoshop会识别这些层。 我能够创建多页tif ,但Photoshop不会将页面识别为图层。 这些页面可以通过Acrobat查看。 有谁知道Photoshop如何存储tif图层数据以及如何使用Java生成? 谢谢。

Toolkit.getDefaultToolkit()。createImage()vs ImageIO.read()

我正在使用Swing创建UI,我想在JLabel显示图像。 我使用的代码如下: JLabel label = new JLabel(new ImageIcon(ImageIO.read(new File(“img.jpg”)))); 如果我使用png图像,但是当涉及到jpg (只有其中一些)时,这可以正常工作,我得到一个红色图像(与我在Paint.NET中看到的图像不同)。 我使用的图像是这个: img.jpg 所以我试过(作为替代方案): Toolkit.getDefaultToolkit().createImage(new File(“img.jpg”).getAbsolutePath()); 有谁知道为什么会这样? 它是一种不受支持的特殊JPEG格式吗? 我在这个论坛上看到,大多数人都建议使用ImageIO(例如这里 )。 为什么? 非常感谢

BufferedImage getRGB vs Raster getSample

我正在尝试用Java做一些图像处理。 我使用ImageIO库来读写图像。 我可以通过以下两种方式读取图像像素值(可能还有其他方法)。 使用BufferedImage的getRGB方法: pixel = image.getRGB(x,y); 使用Raster的getSample方法: WritableRaster raster = image.getRaster(); pixel = raster.getSample(x,y,0); 上述两种方法有什么区别?

IllegalArgumentException:源栅格波段和源颜色空间组件的数量不匹配对于彩色图像exception

有人建议的上述答案将我的彩色图像转换为黑白图像。 所以这不适合我的问题。 File file = new File(“path”); BufferedImage bufferedImage = ImageIO.read( file ); 这是代码,下面是图像。 下载图像并保存在您的电脑中。 并尝试使用正确的路径值运行上面的代码,它将在主题中引发exception 下载图片: https : //skydrive.live.com/?cid = 19547371C4F3B839&id = 19547371C4F3B839%21105 简单地说,如果有人可以从给定的图像中获取java.awt.image.BufferedImage对象就足够了(不应该将图像转换为灰度图像)。 如果你能回答这个问题,你就是天才:D。 Plz的帮助。

将Data-URL转换为BufferedImage

我有一个来自图像文件的数据URL,必须将其传递给另一个函数。 沿着从Data-URL到BufferedImage的这条路径,它需要是一个byteArray。 我的方法如下: String dataUrl; byte[] imageData = dataUrl.getBytes(); // pass the byteArray along the path // create BufferedImage from byteArray BufferedImage inputImage = ImageIO.read(new ByteArrayInputStream(imageData)); // If the picture is null, then throw an unsupported image exception. if (inputImage == null) { throw new UnknownImageFormatException(); } 问题是,它总是抛出UnknownImageFormatExceptionexception,这意味着inputImage为null,这意味着,ImageIO.read无法识别imagetype。 我使用ImageIO.getReaderFormatNames()来获取支持的文件名并得到以下列表: Supported Formats: jpg, BMP, bmp, JPG, […]

如何使用Java中的tEXt或iTXt块保存PNG?

我目前正在使用javax.imageio.ImageIO来编写PNG文件。 我想要包含一个tEXt块(实际上是这里列出的任何块),但是看不到这样做的方法。 通过com.sun.imageio.plugins.png.PNGMetadata的外观,它应该是可能的。 我应该非常感谢任何线索或答案。 M.

操作图像而不删除其EXIF数据

使用imageIO,我通常会遇到转换图像文件的问题,在覆盖它之后,它会丢失所有的EXIF数据。 有没有办法保留它而不首先提取它,缓存它,然后重置它?

Java ImageIO.write()最多需要6秒

我正在编写一个Web应用程序,我需要将图像从servlet发送到客户端。 图像是动态生成的,非常大(+ – 2MB)。 它可能是jpeg,png或gif。 现在,我正在使用ImageIO.write()将图像写入输出流,但它的速度很慢。 最多需要6秒才能让客户看到图像。 我需要加快速度。 有什么建议么? 顺便说一句。 我知道寻找更快的替代ImageIO主题。 但它对我没有帮助。 由于PNG的速度很慢,ImageMagick不是解决方案而且我测试了JAI,情况更糟。 提前致谢 编辑: 给你看一些代码: BufferedImage bi = [code to generate Image]; response.setContentType(mime); ServletOutputStream out = response.getOutputStream(); ImageIO.write(bi,”png”,out); 为了便于阅读,我删除了exception处理。

为什么我从servlet发送的gif图像没有动画?

我的servlet中有以下代码 response.setContentType(“image/gif”); String filepath = “PATH//TO//GIF.gif”; OutputStream out = response.getOutputStream(); File f = new File(filepath); BufferedImage bi = ImageIO.read(f); ImageIO.write(bi, “gif”, out); out.close(); 此代码只是返回图像的第一帧。 如何实现返回完整的GIF图像?

ImageIO无法读取输入文件

public static void imRes(String pat) { try { BufferedImage bckimg = ImageIO.read(new File(“c:/s/deneme.jpg”)); File s = new File(pat); BufferedImage im = ImageIO.read(s); BufferedImage im1 = resIm(im); BufferedImage finIm = mergIm(im1, bckimg); ImageIO.write(finIm, “jpg”, new File(“c:/s/deneme1.jpg”)); } catch (IOException e) { e.printStackTrace(); } 这是我的第一篇文章,如果我做错了,请原谅。 此代码正常运行,直到我尝试从源包中读取图像。 但现在它无法读取任何图像。 我究竟做错了什么? 或者它是关于日食的东西? 例外: javax.imageio.IIOException: Can’t read input file! at javax.imageio.ImageIO.read(Unknown […]