有什么方法可以用Java转换PNG< - > JPEG< - > TIFF图像? 我有String i / p传递参数(PNG或JPEG转换为[]字节转换为String)转换为ConvertImage(String xyz)方法。
String ConvertImage(String xyz)
所以我正在寻找以下单个方法转换并返回字节数组或字符串,最后我想存储在DB中。
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种类型有任何快速解决方案,请告诉我们?
非常感谢你提前!!!
答案 0 :(得分: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"));
}
}