Я пытаюсь сохранить байт [] необработанных данных изображения в .tiff-файл на моем жестком диске с помощью Java Advanced Imaging API. В Интернете есть несколько небольших примеров, но они не помогли мне, потому что они не соответствуют моей точной проблеме.JAI save byte [] to .tiff file
Мне уже удалось сохранить данные из байт [] в .raw и просмотреть результаты с успехом, чтобы исходный текст действительно содержал некоторые данные. Этот метод является исполняемым без каких-либо исключений, но все, что я получаю, является черным изображением, когда я просматриваю его с помощью Windows XP ImageViewer.
Это мой метод:
public void saveTif(byte[] imgData) {
BufferedImage bufferedImage = new BufferedImage(1280, 1024, BufferedImage.TYPE_BYTE_GRAY);
bufferedImage.createGraphics().drawBytes(imgData, 0, 1280*1024, 0, 0);
TIFFEncodeParam params = new TIFFEncodeParam();
params.setCompression(TIFFEncodeParam.COMPRESSION_NONE);
String filenametiff = path + File.separatorChar + new SimpleDateFormat("dd_MM_yyyy_HH_mm_ss'.tiff'").format(new Date());
JAI.create("filestore", bufferedImage, filenametiff, "TIFF", params);
}
О да! Благодаря! удаление линий drawBytes ... и добавление \t \t WritableRaster raster = bufferedImage.getRaster(); \t \t raster.setDataElements (0, 0, 1280, 1024, imgData); между работами отлично! :) – user1525814