如何将文件类型转换为图像?

Posted

技术标签:

【中文标题】如何将文件类型转换为图像?【英文标题】:How to convert File type to Image? 【发布时间】:2020-12-02 09:25:18 【问题描述】:

我有这个代码:

File obraz = new File("C:\\Users\\ender\\Pictures\\logo.jpg");

我想将它从java.awt 转换为Image。我该怎么做?

【问题讨论】:

您知道 awt 早已过去,在小程序时代。然后是 swing,现在 javafx (openjfx) 被大量使用。 Still ImageIO 是一个也可用于 swing 的基础。 【参考方案1】:

你可以这样做:

try 
    File obraz = new File("C:\\Users\\ender\\Pictures\\logo.jpg");
    Image image = ImageIO.read(obraz);
 catch (IOException ex) 
    ex.printStackTrace();

使用 ImageIO 辅助类。

【讨论】:

谢谢马尔辛 Image image 我总是用BufferedImage image 代替。 ImageIO 方法返回一个,它还实现了其他方便的方法。不过,还有一个优点,用于以一种有用的方式显示异常处理(即打印堆栈跟踪)。【参考方案2】:

试试这个:

Image img = null;
try 
    img = ImageIO.read(new File("C:\\Users\\ender\\Pictures\\logo.jpg"));
 
catch (IOException e) 

Documentation

【讨论】:

,,null" 是什么意思? catch (IOException e) 减一。不要教授糟糕的编程实践。我们在这里花费了大量的时间,让提出问题的程序员在出现问题时将行放回捕获中以打印堆栈跟踪。是的,事情确实出了问题,一旦程序员创建了一个 Jar 文件(如果图像应该是应用程序的一部分)或尝试在其上运行代码,这段代码就会出错另一台计算机。 顺便说一句 我刚刚检查了您链接的教程,很震惊地看到它做了同样的事情。比教程更好。

以上是关于如何将文件类型转换为图像?的主要内容,如果未能解决你的问题,请参考以下文章

如何将此 imweb(图像类型)转换为 base64?

如何将给定文件夹中的所有文件(不同格式)转换为不同的文件类型

如何在 PHP 中将图像从 base 64 转换为它们的文件类型?

如何将字符串类型从 API 响应转换为图像文件 - ����\u0000\u0010JFIF\u0000\u0001\u0001\u0000\u0000\u0001 -

将带有 exif 的图像转换为 NSData 类型

如何将 base64 字符串格式的图像转换为清晰图像缩小器期望的数据类型?