9

Javaでpng画像に透明度があるかどうかを確認することはできますか?png画像に透明度が含まれていない場合は、すべてのpng画像をjpgに変換する必要があります。これをチェックする方法はJavaにありますか?

4

1 に答える 1

17

画像のカラー モデルにアルファ チャネルが含まれているかどうかを確認できます。

BufferedImage img = ImageIO.read(/* from somewhere */);

if (img.getColorModel().hasAlpha()) {
    // img has alpha channel
} else {
    // no alpha channel
}

このコードは、アルファ チャネルで保存された画像のみを検出することに注意してください。アルファ チャネルを持つ画像は、まだ完全に不透明な場合があります (つまり、すべてのピクセルに対してアルファ = 1)。

于 2012-04-19T08:03:07.107 に答える