私はTYPE_3BYTE_BGR
の画像を持っていて、それをTYPE_INT_RGB
に変換したいと思います。'TYPE_3BYTE_BGR'画像のRGB値を取得するにはどうすればよいですか?
私は検索しましたが、これを行う方法が見つかりませんでした。画像をピクセル単位で変換したい。しかし、BufferedImage.getRGB(i, j)
が動作しないようです。
タイプTYPE_3BYTE_BGR
の画像でRGB値を取得するにはどうすればよいですか?
私はTYPE_3BYTE_BGR
の画像を持っていて、それをTYPE_INT_RGB
に変換したいと思います。'TYPE_3BYTE_BGR'画像のRGB値を取得するにはどうすればよいですか?
私は検索しましたが、これを行う方法が見つかりませんでした。画像をピクセル単位で変換したい。しかし、BufferedImage.getRGB(i, j)
が動作しないようです。
タイプTYPE_3BYTE_BGR
の画像でRGB値を取得するにはどうすればよいですか?
"getRGB(i、j)が機能しません"という意味が不明です。 getRGBはパックされたintを返します。それをデコードする必要があります。
int color = image.getRGB(i,j);
int r = (argb)&0xFF;
int g = (argb>>8)&0xFF;
int b = (argb>>16)&0xFF;
int a = (argb>>24)&0xFF;
あなたが提案しているが、ただTYPE_INT_RGBでターゲットBufferedImageを作成するためにはるかに簡単だろう、とだけ先BufferedImageに元画像を描画するように手動でそれを行うことができますHow to convert get.rgb(x,y) integer pixel to Color(r,g,b,a) in Java?
TYPE_3BYTE_BGRにはアルファチャンネルがないので、アルファチャンネルを無視しても問題ありません。 – I82Much
はい、私はこのようにデコードし、TYPE_INT_RGBイメージを描画するために 'setRGB'を設定しますが、最後に2つの異なるイメージを取得します。 – user572485
を参照してください。 – MeBigFatGuy
あなたの提案をお試しください。 "result.getGraphics()。drawImage(source、0、0、null);"を使用します。結果画像でピクセルが元に戻りません。 –