带有byte []的MemoryImageSource(创建一个可行的颜色模型)

时间:2012-12-08 14:25:01

标签: java memoryimagesource

从整数数组中设置图像没有问题。 (因为可以用更简单的构造函数实例化MemoryImageSource的整数版本。)

我试过了:

    ComponentColorModel model = new ComponentColorModel(
        ColorSpace.getInstance(ColorSpace.CS_sRGB),
        false,
        false,
        ComponentColorModel.OPAQUE,
        DataBuffer.TYPE_BYTE);
    ImageProducer ip = new MemoryImageSource(width, height, model, bytes, 0, width);

但是图像似乎是空的(完全透明)。我尝试使用图像数据而没有使用alpha,并使用和不使用alpha通道构建模型。 - 没有图像显示。

如果我将byte[]转换为int[]并使用构造函数,则完全没有问题:

MemoryImageSource(int w, int h, int[] pix, int off, int scan)

...但不适用于:

MemoryImageSource(int w, int h, ColorModel cm, int[] pix, int off, int scan)

我可能错误地使用了颜色模型,但即使这样,我也希望看到一些扭曲的像素数据(特别是使用ComponentColorModel.OPAQUE)。

0 个答案:

没有答案