Лучший способ конвертировать между типами изображений во встроенной Java? - PullRequest
0 голосов
/ 26 июля 2010

Я хочу преобразовать (туда и обратно) следующее - PS в TIFF - TIFF в PDF - PDF в TIFF - GIF в TIFF - JPEG в TIFF - TIFF (LZW) в TIFF (CITT G4)

Где, если не указано, TIFF - это кодировка CITT G4.

Во встроенном коде приложения Java;какие-либо рекомендуемые решения?

1 Ответ

2 голосов
/ 26 июля 2010

Java поддерживает множество форматов "из коробки", и написание кода для преобразования просто и понятно. Однако PDF не поддерживается в качестве стандарта, но существует множество библиотек, которые будут его декодировать, например PDF Box .

Вы можете использовать ImageIO для чтения и записи множества форматов изображений. Например, вот как вы можете конвертировать между JPEG и Bitmap.

// Read the JPEG
File input = new File("c:/image.jpg");  
BufferedImage image = ImageIO.read(input);  

// Write the Bitmap
File output = new File("c:/image.bmp");  
ImageIO.write(image, "bmp", output); 

Чтобы ImageIO (точнее, ImageReader / Writer) распознавал определенный формат изображения, должен существовать ImageReaderSPI & ImageWriterSPI , зарегистрированный в IIOServiceProvider . Поэтому, если вы хотите использовать ImageIO для чтения / записи неподдерживаемых форматов, таких как PDF, вы должны написать собственную реализацию или скачать библиотеку, в которой они есть. Писать их довольно легко, я делал это раньше.

...