有什么方法可以用 Java 转换 PNG<->JPEG<->TIFF 图像? 我有 String i/p 传递参数(PNG 或 JPEG 转换为 []byte,然后转换为 String)到 ConvertImage(String xyz) 方法。
字符串转换图像(字符串 xyz)
所以我正在寻找从单一方法进行的后续转换并返回字节数组或字符串,最后我想存储在数据库中。
1.如果i/p是PNG转换o/p是JPEG
2.如果 i/p 是 JPEG 转换 o/p 是 PNG
3.如果i/p是PNG或者JPEG转换后的o/p是TIFF
我现在正在使用 JAI 进行此转换(在我的上一篇文章中我没有提到所有这些细节,对此感到抱歉)但现在不想使用 JAI。
如果您对所有这 3 种类型都有任何快速解决方案,请告诉我?
非常感谢您!!!
最佳答案
大多数图像类型都可以通过简单调用 ImageIO.read
来读入内存:
import javax.imageio.ImageIO;
import java.io.File;
public class ImageTest {
public static void main(String[] args) {
BufferedImage image = ImageIO.read(new File("image.png"));//Or image.jpg or image.tiff, etc.
}
}
然后可以通过将 RenderedImage
(BufferedImage
是其实现)传递给 ImageIO.write
来写入图像:
import javax.imageio.ImageIO;
import java.io.File;
public class ImageTest {
public static void main(String[] args) {
BufferedImage image = ImageIO.read(new File("image.png"));//Or image.jpg or image.tiff, etc.
String[] formatNames = ImageIO.getWriterFormatNames();
//A robust use would validate whatever format you're intending to use against
//the canonical list of format names retrieved by that call
ImageIO.write(image, "tiff", new File("image.tiff"));
}
}
关于java - 如何转换 PNG<->JPEG<->TIFF 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50651048/