当前位置: 首页 > 工具软件 > AWT > 使用案例 >

java中awt的常用操作

徐丰茂
2023-12-01

1 文本操作

1.1 渲染文本

/**
     * 渲染文字
     *@Author dong
     *@Date 2022/6/2 16:49
     *@param color 文字颜色
     *@param fontName 字体名称
     *@param text 文本内容
     *@param fontSize 文字大小
     *@param x x轴点位
     *@param y y轴点位
     *@param g 画布
     *@return 
     */
    public void loadTxt(String color, String fontName, String text, int fontSize,int x, int y, Graphics2D g)throws IOException{
        Font font = new Font(fontName, Font.PLAIN, fontSize);
        g.setFont(font);
        g.setPaint(Color.decode(color));
        g.drawString(text, x, y);
    }

1.2 获取文本渲染之后的长度

/**
     * 
     *@Author dong
     *@Date 2022/6/2 16:54
     *@param text 文本
     *@param g 获取文本在画布上的长度
     *@return 
     */
    private int loadTxt(String text,Graphics2D g){
        return g.getFontMetrics().stringWidth(text);
    }

2 图片操作

2.1 渲染图片

/**
     *
     *@Author dong
     *@Date 2022/6/2 16:53
     *@param url 图片路径
     *@param width 图片宽度
     *@param height 图片高度
     *@param x x轴点位
     *@param y y轴点位
     *@param g 画布
     *@return
     */
    public void loadImg(String url, int width, int height, int x, int y, Graphics2D g) throws IOException {
        // 网络图片获取方式。如果是本地图片可以使用 ImageIO.read(new File(key))
        BufferedImage erweima = ImageIO.read(new URL(url));
        g.drawImage(erweima, x, y, width, height, null);
    }

2.2 图片处理为圆角


/**
     * 
     *@Author dong
     *@Date 2022/6/2 16:55
     *@param img 原图对象
     *@param radius 弧度大小,720为原型图片
     *@return 
     */
    public BufferedImage setClip(BufferedImage img,int radius){
        int width = img.getWidth();
        int height = img.getHeight();
        BufferedImage res = new BufferedImage(width,height,BufferedImage.TYPE_INT_ARGB);
        Graphics2D gs = res.createGraphics();
        gs.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
        gs.fillRoundRect(0, 0,width, height, radius, radius);
        gs.setComposite(AlphaComposite.SrcIn);
        gs.drawImage(img,0,0,null);
        gs.dispose();
        return res;
    }
 类似资料: