加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java / swing:将文本字符串转换为Shape

发布时间:2020-12-14 05:33:32 所属栏目:Java 来源:网络整理
导读:我想将一些任意文本转换为Shape( java.awt.Shape ),然后对Shape进行描边/填充.我该怎么做? 解决方法 嗯,我不知道这个答案,但经过一点点调整和戳在Eclipse内容协助后,我发现这似乎是你需要的: 编辑:我改为代码来改变字符串显示的方式是什么原因你问你问了
我想将一些任意文本转换为Shape( java.awt.Shape),然后对Shape进行描边/填充.我该怎么做?

解决方法

嗯,我不知道这个答案,但经过一点点调整和戳在Eclipse内容协助后,我发现这似乎是你需要的:

编辑:我改为代码来改变字符串显示的方式是什么原因你问你问了什么:)尝试一下.它呈现红色和虚线的字符串

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.Shape;
import java.awt.font.GlyphVector;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Test extends JPanel{

    private Shape s;

    public Test() {
        Font f = getFont().deriveFont(Font.BOLD,70);
        GlyphVector v = f.createGlyphVector(getFontMetrics(f).getFontRenderContext(),"Hello");
        s = v.getOutline();
        setPreferredSize(new Dimension(300,300));
    }
    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2 = (Graphics2D)g.create();
        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
        g2.translate(100,150);
        g2.rotate(0.4);
        g2.setPaint(Color.red);
        g2.fill(s);
    g2.setPaint(Color.black);
        g2.setStroke(new BasicStroke(3,BasicStroke.CAP_BUTT,BasicStroke.JOIN_ROUND,1,new float[]{1,0.4f,1.5f},0));
        g2.draw(s);
    }

    public static void main(String[] args) {
        JFrame f = new JFrame("Test");
        Component c = new Test();
        f.getContentPane().add(c);
        f.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);
        f.pack();
        f.setVisible(true);
    }
}

另请注意,您可以通过调用以下字符串获取字符串中的各个字符:

getGlyphOutline(glyphIndex)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读