gpt4 book ai didi

java - ImageIO read() 和 write() 的 Mimetypes

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:48:20 25 4
gpt4 key购买 nike

我正在尝试使用 Mime 类型来定义 ImageIO 的输出。简单的 write() 方法

public static boolean write(RenderedImage im,
String formatName,
OutputStream output)
throws IOException

使用“格式的非正式名称”。 (例如“png”)。是否有一个简单的 mimetypes 等价物(例如“image/png”)或未能实现编写图像目的的代码?我找到的唯一起点是

public static Iterator<ImageWriter> getImageWritersByMIMEType(String MIMEType)

这看起来要复杂得多,需要 ImageWriterIIOStream 等,我还没有设法创建解决方案。

更新:我使用 MIME 的原因是它是 SVG 图像的正式部分,例如

 xlink:href="data:image/png;base64,iVBORw0KGgoAAAA...

使用它似乎比将其转换为定义较少的“非正式”格式更合适。我设法为我的问题找到了一个精确的解决方案(在 java2s.com 中)并将其添加为答案。

最佳答案

我现在已经在 java2s tutorial 上找到了我的问题的正式解决方案

public class Main {
static public void main(String args[]) throws Exception {
int width = 200, height = 200;
BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);

Graphics2D ig2 = bi.createGraphics();
ig2.fillRect(0, 0, width - 1, height - 1);

Iterator imageWriters = getImageWritersByMIMEType("image/gif");
ImageWriter imageWriter = (ImageWriter) imageWriters.next();
File file = new File("filename.gif");
ImageOutputStream ios = ImageIO.createImageOutputStream(file);
imageWriter.setOutput(ios);
imageWriter.write(bi);
}

(由@haraldK 更正后编辑)。

关于java - ImageIO read() 和 write() 的 Mimetypes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18614452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com