2015-06-17 46 views
2

我爲JNIJNI C++與Java的32位圖像無法正確顯示

下面的C++代碼

而且下面的Java代碼來創建一個32位的BufferedImage,大小也通過JNI接受

一切似乎唯一的工作,我在圖像中一些奇怪的顏色,我不知道如何得到它的圖像的右側

結果:

+1

看起來您在通道調音臺中需要多出幾分鐘才能找出哪個RGB - > {BGR,BRG,RBG,GBR ...}是正確的。也許還需要一個值倒數(請注意,我沒有讀過任何關於格式的內容), – sehe

回答

2

這不只是在顏色成分的順序組合?

我不熟悉任何這些功能,但我相信,DIB_RGB_COLORS讓你在「blue, green, red, reserved」順序的組件,而TYPE_4BYTE_ABGR期待的成分在「alpha, blue, green, red」順序。

+0

bgr似乎給了我http://i.imgur。 com/Hky5T8Y.png – sehe

+0

這必須是因爲第4個字節(保留/ alpha)。我相應地更新了我的答案。 – Arkanosis

+0

我怎麼去看看那裏只有一個TYPE_4BYTE_ABRG和TYPE_4BYTE_ABRG_PRE,並且都不起作用。 – MicroHat11