стратегии кодирования целочисленных массивов в изображения - PullRequest
1 голос
/ 16 июня 2011

Я думаю о встраивании данных произвольного целочисленного массива в файл изображения.

Мне любопытно посмотреть, как выглядят мои данные: -)

Вот вопросы, которые приходят на ум:

  • Каковы допустимые целочисленные диапазоны для преобразования? (Мои целые числа между 0 и Integer.MAX_VALUE).
    • Как мне обработать от 0 до Integer.MAX_VALUE до 8-битные целочисленные диапазоны ARGB?
  • Какой формат изображения без потерь (png?)
  • Такая библиотека уже существует?
  • Мне тоже нужно декодировать данные. :)

1 Ответ

4 голосов
/ 16 июня 2011

Это довольно просто, поскольку, когда вы имеете дело с BufferedImage в Java, каждый пиксель хранится (или, по крайней мере, доступен) как внутренний. Полный диапазон значений доступен, если ваше изображение ARGB (32-битное). Подойдет любой формат изображения без потерь.

int[] array = new int[100];
    final BufferedImage im = new BufferedImage(array.length, 1, BufferedImage.TYPE_INT_ARGB);
    for (int i = 0; i < array.length; i++)
        im.setRGB(i, 0, array[i]); // NOTE: this is probably optimizable
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...