java2d 破折号模式

发布于 2024-10-08 11:49:56 字数 195 浏览 8 评论 0原文

我需要使用 java2d 制作动画选择工具的解决方案。

我知道 BasicStroke 和 Rectagnle2D API,但我不知道如何制作黑白破折号

和动画。有人对这项工作有想法吗?

alt text

谢谢

i need solution for making animated selection tool with java2d.

i know BasicStroke and Rectagnle2D API but i don't idea for making black and white dashes

and animated this.anybody have idea for this work ?

alt text

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不乱于心 2024-10-15 11:49:56
void paint(Graphics2D g) {

    //define these constants yourself
    float dashWidth;
    float offset;

    //draw solid, i.e. background
    g.setColor(Color.WHITE);
    g.setStroke(new BasicStroke(width, cap, join, miter, null));
    g.drawLine(x1, y1, x2, y2);

    //draw the pattern on top
    float[] pattern = new float[] {dashWidth, dashWidth*2}
    g.setColor(Color.BLACK);
    g.setStroke(new BasicStroke(width, cap, join, miter, pattern, offset));
    g.drawLine(x1, y1, x2, y2);
}

这适用于任何形状,因此如果您需要的话,请将drawLine 替换为drawRect。要制作动画,请切换颜色并重新绘制。

void paint(Graphics2D g) {

    //define these constants yourself
    float dashWidth;
    float offset;

    //draw solid, i.e. background
    g.setColor(Color.WHITE);
    g.setStroke(new BasicStroke(width, cap, join, miter, null));
    g.drawLine(x1, y1, x2, y2);

    //draw the pattern on top
    float[] pattern = new float[] {dashWidth, dashWidth*2}
    g.setColor(Color.BLACK);
    g.setStroke(new BasicStroke(width, cap, join, miter, pattern, offset));
    g.drawLine(x1, y1, x2, y2);
}

This works with any shape, so replace drawLine with drawRect if that's what you need. To animate, switch colors and repaint.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文