Я пытаюсь читать, изменять масштаб и сохранять изображения в сервлете.Это соответствующий код:
BufferedImage image = ImageIO.read(file);
BufferedImage after = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
AffineTransform at = AffineTransform.getScaleInstance(factor, factor);
AffineTransformOp scaleOp = new AffineTransformOp(at, AffineTransformOp.TYPE_BILINEAR);
after = scaleOp.filter(image, null);
ImageIO.write(after, "JPG", file));
Исходный файл представляет собой обычный RGB-Jpeg, но когда я открываю и сохраняю файл, он выходит как CMYK-Jpeg.Это происходит, даже если я не изменяю масштаб изображения, просто открывая и закрывая изображение вызывает проблему.
Когда я открываю PNG или GIF, все в порядке.Кто-нибудь знает, что здесь делать?Я ожидаю, что метод чтения ImageIO сохранит исходное цветовое пространство.
Если есть другой удобный способ чтения в формате jpeg?
Спасибо за любые предложения!