小编Bil*_*oss的帖子

如何使用具有多个类名的D3 selectAll

我正在尝试为SVG元素使用多个类名,以便(希望)我可以使用selectAll和类名的"部分"来选择它们的子集.不幸的是我没有尝试过任何工作,我没有在网上找到一个例子.下面的代码演示了我正在尝试用四个圆圈的简单示例.两个圆圈的类名称为"mYc 101",两个圆圈的类名为"mYc 202".selectAll(".mYc")给出所有四个圆圈.如果我只想要类名为"mYc 101"的圈子怎么办?可以这样做吗?怎么样?谢谢时间无限!!

<!DOCTYPE html>
<meta charset="utf-8">
<body>
<div id="my_div"></div>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script>
    var m_div = d3.select("#my_div");
    var m_svg = m_div.append("svg");

    var g = m_svg.append("g");

    g.append("circle")
        .attr("class", "mYc 101")
        .attr("cx", 100)
        .attr("cy", 100)
        .attr("r", 50) 
        .attr("style", "stroke: green; stroke-width: 8; fill: #000000");

    g.append("circle")
        .attr("class", "mYc 101")
        .attr("cx", 300)
        .attr("cy", 100)
        .attr("r", 50) 
        .attr("style", "stroke: green; stroke-width: 8; fill: #000000");

    g.append("circle")
        .attr("class", "mYc 202")
        .attr("cx", 100)
        .attr("cy", 300)
        .attr("r", 50) 
        .attr("style", "stroke: blue; stroke-width: 8; fill: #000000");

    g.append("circle")
        .attr("class", "mYc …
Run Code Online (Sandbox Code Playgroud)

svg selectall d3.js

36
推荐指数
2
解决办法
6万
查看次数

如何使用Java2D使旋转文本看起来很好

我的问题不是关于如何用Java2D旋转文本; 我知道该怎么做.我不知道的是如何使旋转的文字"看起来很好".例如,如果在PowerPoint中创建文本框并旋转它,则无论旋转角度如何,文本都会显得清晰明了.但是,绘制的文本g2D.drawString()在0或90度时看起来没问题但在其他角度看不太好.有没有办法操纵文本来清理或锐化它?如果是这样,那么如果有人能指出我要去学习如何做到这一点,我会非常感激.

下面是一个小程序,说明了我在说什么.旋转时较大的字体不是太糟糕但仍然看起来不太专业.旋转时较小的字体很糟糕.

import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;

public class RotateTest extends JPanel {
    String message = "How does this text look?";

    public RotateTest() {
        this.setPreferredSize(new Dimension(640, 280));
    }

    @Override
    public void paintComponent(Graphics g) {
        super.paintComponent(g);

        Graphics2D g2D = (Graphics2D) g;

        g2D.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
                       RenderingHints.VALUE_TEXT_ANTIALIAS_ON);

        g2D.setFont(new Font("MyriadPro", Font.BOLD, 20));
        g2D.drawString(message, 80, 20);

        AffineTransform orig = g2D.getTransform();

        double angle = Math.toRadians(7.0);
        g2D.rotate(-angle, -10, 80);
        g2D.drawString(message, 80, 80);
        g2D.setTransform(orig);

        angle = Math.toRadians(30.0);
        g2D.rotate(-angle, -40, 80);
        g2D.drawString(message, 60, 260);
        g2D.setTransform(orig);

        g2D.setFont(new Font("MyriadPro", …
Run Code Online (Sandbox Code Playgroud)

text render rotation java-2d

4
推荐指数
1
解决办法
4101
查看次数

标签 统计

d3.js ×1

java-2d ×1

render ×1

rotation ×1

selectall ×1

svg ×1

text ×1