Недавно я столкнулся с проблемой при попытке отобразить файл изображения. К сожалению, формат изображения - формат TIFF, который не поддерживается основным веб-браузером (так как я знаю только Safari для поддержки этого формата). Из-за определенного ограничения мне нужно преобразовать этот формат в другой формат, поддерживаемый основным браузером. Тем не менее, это приносит много проблем для меня, когда я пытаюсь преобразовать формат.
У меня был поиск в Интернете, и хотя в этой ссылке была опубликована аналогичная проблема Как преобразовать TIF в PNG в Java?", но я не могу имеют результат, который он предложил..
Поэтому я снова поднимаю этот вопрос, чтобы пожелать, чтобы у вас было лучшее объяснение и рекомендации от всех вас.
Было несколько проблем, с которыми я столкнулся во время прохождения с предлагаемым решением:
1) В соответствии с ответом, предложенным Джонатаном Фейнбергом, ему необходимо установить JAI и JAI/ImageIO. Однако после того, как я установил оба из них, я все еще не смог импортировать файл в Netbean 7.2. NetBean 7.2 остается предлагать библиотеку imageIO по умолчанию.
2), когда я использую стандартный метод чтения ImageIO библиотеки, он вернет значение NULL, и я не могу продолжить работу.
3) Я также пробовал другие методы, такие как преобразовать файл TIFF в BIN файл с помощью метода BufferedOutputStream, но файл результатов больше 11 МБ, который слишком велик для загрузки и в результате загрузка не удалась.
if (this.selectedDO != null) {
String tempDO = this.selectedDO.DONo;
String inPath = "J:\\" + tempDO + ".TIF";
String otPath = "J:\\" + tempDO + ".bin";
File opFile = new File(otPath);
File inFile = new File(inPath);
BufferedInputStream input = null;
BufferedOutputStream output = null;
try {
input = new BufferedInputStream(new FileInputStream(inPath), DEFAULT_BUFFER_SIZE);
output = new BufferedOutputStream(new FileOutputStream(otPath), DEFAULT_BUFFER_SIZE);
byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
int length;
while ((length = input.read(buffer)) > 0) {
output.write(buffer, 0, length);
}
} finally {
try {
output.flush();
output.close();
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
Следовательно, надеюсь, что вы сможете получить помощь и посоветовать всем вам, чтобы я мог преобразовать формат TIFF в другой формат, например JPEG/PNG.