Вы можете создать пользовательский BufferedImage
, в котором будут храниться данные о пикселях float[]
.
Я не рекомендую этого, потому что некоторые функции API платформы будут неправильно выполнять преобразование цветового пространства, когдав этом нет необходимости (например, когда источником и местом назначения являются sRGB.)
Пример:
ColorModel cm =
new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB),
false, false, Transparency.OPAQUE,
DataBuffer.TYPE_FLOAT);
WritableRaster raster = cm.createCompatibleWritableRaster(width, height);
BufferedImage img = new BufferedImage(cm, raster, false, null);