我需要用色彩空间CMYK旋转我的TIFF图像.标准的Java ImageIO不支持CMYK TIFF图像,所以我使用了TWelveMonkey插件.但这并没有起到作用.当我试图旋转我的图像时,我遇到了一个例外.
我做以下事情:
try (InputStream is = new ByteArrayInputStream(bytes);
ImageInputStream iis = ImageIO.createImageInputStream(is)) {
Iterator<ImageReader> iter = ImageIO.getImageReaders(iis);
if (!iter.hasNext()) {
throw new RuntimeException("Image type is not supported");
}
ImageReader reader = iter.next();
BufferedImage bi;
try {
reader.setInput(iis);
bi = reader.read(0);
} finally {
reader.dispose();
}
int type = bi.getType();
BufferedImage newBi;
if (angle == 90 || angle == 270) {
newBi= new BufferedImage(height, width, type);
} else {
newBi= new BufferedImage(width, height, type);
}
//writing the image content to new buffered image
}
但它投出了java.lang.IllegalArgumentException: Unknown image type 0
英镑.如何为TIFF CMYK映像创建BufferedImage?或者至少我可以如何旋转TIFF CMYK图像?