• 绘制半透明的图片


      /**

       * CreateAlphaImage() 绘制带半透明的图片
       * 
       * @param alphaValue
       *            透明度,其取值如0x88FFFFFF,前两位十六进制表示透明度,88表示透明度为50%,如果是00表示全透明,FF表示不透明。
       * @param srcImage
       *            需要画成半透明的图片
       * @return Image 半透明处理后的图片
       */
      private Image createAlphaImage(Image srcImage, int alphaValue) {
       int w = srcImage.getWidth();
       int h = srcImage.getHeight();
       int len = w * h;
       int srcRGB[] = new int[len];
       int dscRGB[] = new int[len];
       try {
        srcImage.getRGB(srcRGB, 0, w, 0, 0, w, h);
       } catch (Exception ex) {
        ex.printStackTrace();
       }
       for (int i = 0; i < len; i++) {
        if ((int) (srcRGB[i]) == 0x00FFFFFF) {
         dscRGB[i] = srcRGB[i];
        } else {
         dscRGB[i] = srcRGB[i] & alphaValue;
        }
       }
       return Image.createRGBImage(dscRGB, w, h, true);
      }

      protected void paint(Graphics g) {

       // 创建可变的自定义图片,指定宽度和高度
       Image bufImg = Image.createImage(w, h);
       Graphics gg = bufImg.getGraphics();
       gg.setColor(0x0000FF);
       // 使用白色绘制背景
       gg.fillRect(0, 0, w, h);
       // 绘制需要的图片内容
       gg.setColor(0xFF0000);
       gg.fillRect(w/4,h/4,w/2,h/2);
       Image ai = this.createAlphaImage(bufImg, 0x88ffffff);
       g.drawImage(ai, 0, 0, Graphics.TOP | Graphics.LEFT);
      }

  • 相关阅读:
    CSDN博客QQ加群、微信
    Angularjs 中的 controller
    hdu 1728 逃离迷宫 bfs记转向
    【BLE】CC2541之加入自己定义任务
    asp.net给文件分配自己主动编号,如【20140710-1】
    <html>
    机器学习入门阶段程序猿易犯的5个错误
    时间复杂度
    Jackcard类似度和余弦类似度(向量空间模型)的java实现
    【分层图】分层图学习笔记
  • 原文地址:https://www.cnblogs.com/xixiaohui/p/1963894.html
Copyright © 2020-2023  润新知