Graphics2D 使用代码片段记录

    BufferedImage image = new BufferedImage(totalWidth, totalHeight, BufferedImage.TYPE_INT_RGB);
    Graphics2D g2d = image.createGraphics();
    g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);  //消除画图锯齿

    g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_GASP);  //字体失真处理

    //绘制背景
    g2d.setColor(Color.WHITE);
    g2d.fillRect(0, 0, totalWidth, totalHeight);
    //清除指定区域内容
    g2d.setComposite(AlphaComposite.Src);
    g2d.fillRect(x, y, width, height);
    g2d.setComposite(AlphaComposite.SrcAtop);
    //画边框
    g2d.setColor(Color.GRAY);
    g2d.setStroke(new BasicStroke(1)); //设置画笔粗细
    g2d.drawRect(left, top, width, height);
    //设置透明度开始
    g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, 0.9f));  //设置透明度,值从0-1.0,依次变得不透明

    //绘制图像到指定区域
    g2d.drawImage(currentImage, left, top, currentImageWidth, currentImageHeight, null);

    //释放对象 透明度设置结束
    g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER));
  /**
     * int十六进制格式的颜色转为awt的Color对象
     * e.g 0xe9e9e9
     * @param color 0xffffffff前两位为透明读, 三四位 R, 五六位 G, 七八位 B
     */
    public static Color int2Color(int color) {
        int a = ((0x7f000000 & color) >> 24) | 0x00000080;
        int r = (0x00ff0000 & color) >> 16;
        int g = (0x0000ff00 & color) >> 8;
        int b = (0x000000ff & color);
        return new Color(r, g, b, a);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值