如何生成透明的BuffereImage

2mbi3lxu  于 2021-06-27  发布在  Java
关注(0)|答案(0)|浏览(161)

我正在制作一个节目,介绍不同版本的选举团。每个状态都有一个独特的颜色,这样我就可以分割它们,并从中生成一个新的bufferedimage。我需要BuffereImage是透明的,这样我就可以重建美国,而不会在美国重叠一个黑色矩形。我试着让每个像素都透明,但它仍然是黑色的。
这只是使黑色像素透明的部分(dr是一个graphics2d,state是bufferedimage)

for (int u = 0; u < state.getHeight(); u++) {

        for (int o = 0; o < state.getWidth(); o++) {

            Color rgbValue = new Color(state.getRGB(o, u));
            int red = rgbValue.getRed();
            int green = rgbValue.getGreen();
            int blue = rgbValue.getBlue();

            if (red == 0 && green == 0 && blue == 0) {
                dr.setColor(new Color(0, 0, 0, 0));
                dr.fillRect(o, u, 1, 1);
            }
        }
    }

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题