How to cast/convert a BufferedImage into an Image?

2019-07-04 19:29发布

问题:

I would like to convert a BufferedImage to an java.awt.Image.

My source-image is tif so I use JAI to read it as PlanarImage:

PlanarImage source = JAI.create("fileload", IMG_DIR + tagImgName);

I then save it as an objects attribute as a BufferedImage

tagImg = source.getAsBufferedImage();

For .pdf-Export (via iText) I need it as java.awt.Image

Thanks!

回答1:

java.awt.image.BufferedImage is already a subclass of java.awt.Image, so you shouldn't need any casting or converting. You can use the BufferedImage in place of a Image.

You can do directly this:

Image tagImg = source.getAsBufferedImage();
// use tagImg with iText library here


回答2:

Assuming you mean java.awt.image.BufferedImage, it already subclasses java.awt.image.Image - so you shouldn't need to do anything.