sunfruit[請(qǐng)?jiān)L問(wèn)http://www.fruitres.cn]

          --我相信JAVA能走得更遠(yuǎn) QQ:316228067

          [原創(chuàng)]通過(guò)JAVA改變圖片的像素Alpha值實(shí)現(xiàn)圖片透明

              --sunfruit

              設(shè)置圖片的每個(gè)象素Alpha,使得圖片透明,核心代碼如下

              private void setAlpha(ByteArrayOutputStream os) {
              /**
               * 增加測(cè)試項(xiàng)
               * 讀取圖片,繪制成半透明
               */
              try {

                ImageIcon imageIcon = new ImageIcon(os.toByteArray());
                BufferedImage bufferedImage = new BufferedImage(imageIcon.getIconWidth(),imageIcon.getIconHeight()
                    , BufferedImage.TYPE_4BYTE_ABGR);
                Graphics2D g2D = (Graphics2D) bufferedImage.getGraphics();
                g2D.drawImage(imageIcon.getImage(), 0, 0,
                                     imageIcon.getImageObserver());
                //循環(huán)每一個(gè)像素點(diǎn),改變像素點(diǎn)的Alpha值
                int alpha = 100;
                for (int j1 = bufferedImage.getMinY(); j1 < bufferedImage.getHeight(); j1++) {
                  for (int j2 = bufferedImage.getMinX(); j2 < bufferedImage.getWidth(); j2++) {
                    int rgb = bufferedImage.getRGB(j2, j1);
                    rgb = ( (alpha + 1) << 24) | (rgb & 0x00ffffff);
                    bufferedImage.setRGB(j2, j1, rgb);
                  }
                }
                g2D.drawImage(bufferedImage, 0, 0, imageIcon.getImageObserver());
               
                //生成圖片為PNG

                ImageIO.write(bufferedImage, "png",  new File(圖片路徑));
              }
              catch (Exception e) {
                e.printStackTrace();
              }

            }

          posted on 2007-05-20 00:20 sunfruit 閱讀(12115) 評(píng)論(0)  編輯  收藏 所屬分類: JAVA SE & EE

          主站蜘蛛池模板: 闵行区| 闸北区| 北宁市| 松滋市| 遂川县| 中山市| 抚顺市| 福建省| 金塔县| 宿州市| 新邵县| 水城县| 台南市| 贺兰县| 湟源县| 化州市| 都江堰市| 仁布县| 彭山县| 九江市| 西城区| 汉源县| 泗阳县| 萨迦县| 临安市| 辛集市| 潜江市| 正定县| 辉县市| 达日县| 余江县| 岗巴县| 阿拉善左旗| 灵武市| 盘锦市| 宁阳县| 大足县| 嵩明县| 昂仁县| 大化| 西安市|