Чтобы записать изображение, содержащее значения с плавающей запятой, в файл, вам необходимо:
a) Формат, позволяющий хранить значения с плавающей запятой. Большинство графических форматов, в том числе JPEG, PNG или GIF, конечно, нет. Я знаю, что наиболее часто используемый формат файла - это TIFF. Тем не менее, стоит отметить, что TIFF с плавающей точкой не является «базовым» TIFF, поэтому не все программное обеспечение TIFF будет поддерживать такие файлы.
b) Плагин ImageIO, который поддерживает запись TIFF в формате с плавающей запятой. Я думаю, что JAI может работать, и почти наверняка GeoTools работает. Мой собственный плагин поддерживает чтение, но не запись плавающей запятой в данный момент (но создание набора изменений для этого должно быть довольно простым, если вы чувствуете себя авантюрным).
При такой сортировке должно работать следующее (учитывая, что out
такое же изображение с плавающей запятой, как в вашем коде):
ImageIO.write(out, "TIFF", new File("C:\\out.tif"));