如何将文件类型转换为图像?
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 文件(如果图像应该是应用程序的一部分)或尝试在其上运行代码,这段代码就会出错另一台计算机。
顺便说一句 我刚刚检查了您链接的教程,很震惊地看到它做了同样的事情。比教程更好。以上是关于如何将文件类型转换为图像?的主要内容,如果未能解决你的问题,请参考以下文章
如何将给定文件夹中的所有文件(不同格式)转换为不同的文件类型
如何在 PHP 中将图像从 base 64 转换为它们的文件类型?
如何将字符串类型从 API 响应转换为图像文件 - ����\u0000\u0010JFIF\u0000\u0001\u0001\u0000\u0000\u0001 -