Программисты JAVA общаются здесь
Гость
Сжатие и преобразование jpg в tiff в Java
Сообщение
Гость » 14 мар 2024, 13:15
У меня есть изображение в формате jpg, и я хочу преобразовать его в файл TIFF, но когда я создаю выходной файл из byteArrayOutputStream, длина выходного файла составляет 0 байт.
Код: Выделить всё
public static void main(String[] args) throws Exception {
String root = "E:\\Temp\\imaging\\test\\";
File image = new File(root + "0riginalTif-convertedToJpg.JPG");
byte[] bytes = compressJpgToTiff(image);
File destination = new File(root + "OriginalJpg-compressedToTiff.tiff");
FileOutputStream fileOutputStream = new FileOutputStream(destination);
fileOutputStream.write(bytes);
}
public static byte[] compressJpgToTiff(File imageFile) throws Exception {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(255);
ImageOutputStream imageOutputStream = null;
try {
File input = new File(imageFile.getAbsolutePath());
Iterator imageWriterIterator = ImageIO.getImageWritersByFormatName("TIF");
ImageWriter writer = imageWriterIterator.next();
imageOutputStream = ImageIO.createImageOutputStream(byteArrayOutputStream);
writer.setOutput(imageOutputStream);
ImageWriteParam param = writer.getDefaultWriteParam();
param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
param.setCompressionType("JPEG");
param.setCompressionQuality(0.1f);
BufferedImage bufferedImage = ImageIO.read(input);
writer.write(null, new IIOImage(bufferedImage, null, null), param);
writer.dispose();
return byteArrayOutputStream.toByteArray();
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
if (imageOutputStream != null)
imageOutputStream.close();
byteArrayOutputStream.close();
}
}
Я хочу максимально уменьшить размер выходного tiff. Есть ли лучший подход? Можно ли вообще уменьшить размер изображения в формате tiff?
Источник:
https://stackoverflow.com/questions/533 ... ff-in-java
1710411315
Гость
У меня есть изображение в формате jpg, и я хочу преобразовать его в файл TIFF, но когда я создаю выходной файл из byteArrayOutputStream, длина выходного файла составляет 0 байт. [code]public static void main(String[] args) throws Exception { String root = "E:\\Temp\\imaging\\test\\"; File image = new File(root + "0riginalTif-convertedToJpg.JPG"); byte[] bytes = compressJpgToTiff(image); File destination = new File(root + "OriginalJpg-compressedToTiff.tiff"); FileOutputStream fileOutputStream = new FileOutputStream(destination); fileOutputStream.write(bytes); } public static byte[] compressJpgToTiff(File imageFile) throws Exception { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(255); ImageOutputStream imageOutputStream = null; try { File input = new File(imageFile.getAbsolutePath()); Iterator imageWriterIterator = ImageIO.getImageWritersByFormatName("TIF"); ImageWriter writer = imageWriterIterator.next(); imageOutputStream = ImageIO.createImageOutputStream(byteArrayOutputStream); writer.setOutput(imageOutputStream); ImageWriteParam param = writer.getDefaultWriteParam(); param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); param.setCompressionType("JPEG"); param.setCompressionQuality(0.1f); BufferedImage bufferedImage = ImageIO.read(input); writer.write(null, new IIOImage(bufferedImage, null, null), param); writer.dispose(); return byteArrayOutputStream.toByteArray(); } catch (Exception e) { throw new RuntimeException(e); } finally { if (imageOutputStream != null) imageOutputStream.close(); byteArrayOutputStream.close(); } } [/code] Я хочу максимально уменьшить размер выходного tiff. Есть ли лучший подход? Можно ли вообще уменьшить размер изображения в формате tiff? Источник: [url]https://stackoverflow.com/questions/53373392/compressing-and-converting-a-jpg-to-tiff-in-java[/url]
0 Ответы
12 Просмотры
Последнее сообщение Anonymous
22 ноя 2024, 20:01
Как конвертировать JPG GREYSCALE в черно-белый TIFF
Anonymous »
01 ноя 2023, 11:49 » в форуме
JAVA
Я использую этот код для преобразования изображения JPG GrayScale в черно-белое изображение TIF, но получаю изображение плохого качества:
BufferedImage colorImage = ImageIO.read(colorImg); float[] Scales = { 2f, 2f, 2f }; float[] offsets = новый...
0 Ответы
37 Просмотры
Последнее сообщение Anonymous
01 ноя 2023, 11:49
Конвертировать TIF/TIFF в JPG: Тег с неправильным порядком байтов
Anonymous »
07 ноя 2024, 06:02 » в форуме
JAVA
Я пытаюсь преобразовать изображения TIF/TIFF в JPG, и это работает нормально, но для некоторых изображений TIF я получаю исключение IllegalArgumentException: тег Bad endianness (не 0x4949 или 0x4d4d).
Исключение:
java.io.IOException: Bad...
0 Ответы
26 Просмотры
Последнее сообщение Anonymous
07 ноя 2024, 06:02
Преобразовать TIF/TIFF в JPG: Bad Endianness Tag
Anonymous »
07 мар 2025, 16:07 » в форуме
JAVA
Я пытаюсь преобразовать изображения TIF /TIFF в JPG, что работает нормально, но для нескольких изображений TIF я получаю нелегальный тег: плохая эндсианс.java.io.IOException: Bad endianness tag (not 0x4949 or 0x4d4d).
at...
0 Ответы
19 Просмотры
Последнее сообщение Anonymous
07 мар 2025, 16:07
Преобразовать TIF/TIFF в JPG: Bad Endianness Tag
Anonymous »
07 июл 2025, 11:00 » в форуме
JAVA
Я пытаюсь преобразовать изображения TIF /TIFF в JPG, что работает нормально, но для нескольких изображений TIF я получаю нелегальный тег: плохая эндсианс.java.io.IOException: Bad endianness tag (not 0x4949 or 0x4d4d).
at...
0 Ответы
3 Просмотры
Последнее сообщение Anonymous
07 июл 2025, 11:00