将整数数组编码为图像的策略

时间:2011-06-16 18:43:27

标签: java arrays image

我正在考虑将任意整数数组数据嵌入到图像文件中。

我很想知道我的数据是什么样的: - )

以下是我想到的问题:

  • 转换的允许整数范围是多少? (我的整数介于0和Integer.MAX_VALUE之间)。
    • 如何处理0到Integer.MAX_VALUE 8位ARGB整数范围?
  • 哪种无损图像格式(png?)
  • 这样的图书馆已经存在吗?
  • 我也需要解码数据。 :)

1 个答案:

答案 0 :(得分:4)

这很简单,因为当您使用Java处理BufferedImage时,每个像素都作为int本地存储(或至少,被访问)。如果您的图像是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