1

我从整数数组设置图像没有问题。(因为 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)

我可能有错误的颜色模型,但即便如此,我仍希望看到一些失真的像素数据(尤其是使用 usong ComponentColorModel.OPAQUE)。

4

0 回答 0