Gili
Gili

Reputation: 90023

Resizing TYPE_CUSTOM BufferedImages?

When I read a JPEG from disk, Java sometimes gives me a BufferedImage whose getType() returns TYPE_CUSTOM -- that is, it has a custom color model. I'd like to resize this BufferedImage but I'm not sure how to construct the destination object. Can someone please provide sample code for using the following constructor?

BufferedImage(ColorModel cm, WritableRaster raster, boolean isRasterPremultiplied, Hashtable properties)

I would like to create a BufferedImage of the same type as the source, just bigger, and transfer the contents over. Any ideas?

Upvotes: 5

Views: 1367

Answers (1)

Gili
Gili

Reputation: 90023

Answering my own question, it looks like ImageTypeSpecifier is the answer. Specifically:

  1. Invoke ImageTypeSpecifier.createFromRenderedImage(RenderedImage image) to get back an ImageTypeSpecifier from the image with the custom color model.
  2. Invoke ImageTypeSpecifier.createBufferedImage(int width, int height) on the ImageTypeSpecifier from step 1 to create a new image with the same color model as the original image.

Upvotes: 6

Related Questions