Могу ли я прочитать изображение в Java напрямую в массив столбцов?
Массивы изображений обычно хранятся в основном порядке строк, но я взаимодействую с библиотекой основных столбцов, и я стараюсь максимально избегать копирования и транспонирования массивов.
Вполне возможно написать изображение, используя javax.imageio
чтение данных пикселей непосредственно из массива столбцов. Вам просто нужно создать ComponentSampleModel
с pixelStride=height
а также scanlineStride=1
вместо обычных значений 1
а также width
, Я не знаю, сколько это взломать, но работал на меня. Тогда вы просто используете это, чтобы создать Raster
вместе с DataBuffer
создан из вашего массива столбца, а затем создать BufferedImage
и уходи.
Мне интересно, возможно ли сделать что-то подобное при чтении изображения? Нет версий ImageIO.read
кажется, может взять Raster
объект. Возможно ли сделать это каким-либо образом и правильно использовать все абстракции, предлагаемые этой библиотекой, или это просто странный хак, который работал только для написания изображения?