java 如何使用点或曲线绘制G谱号和F谱号

标签 java music-notation

我正在使用 Graphics 2D 制作音乐应用程序,并且我已经成功绘制了五线谱和音符。我现在正在尝试绘制 G 谱号

Image of G-clef

和一个 F 谱号

Image of F-clef

如果有其他可能的方法,我将不胜感激。

注意:我环顾了两天,看到了类似的问题,但还没有找到解决方案。

最佳答案

使用点和曲线并不是最好的方法。感谢@David,我发现 unicodes 效果最好。要使用 unicode 打印字符串,

import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;

import javax.swing.JFrame;

public class UnicodeText {
public static void main(String[] args) {
JFrame f = new JFrame() {
  public void paint(Graphics g) {
    Graphics2D g2 = (Graphics2D) g;
    g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
        RenderingHints.VALUE_ANTIALIAS_ON);

    Font font = new Font("Bravura", Font.PLAIN, 32);

    g2.setFont(font);
    g2.drawString("\uD834\uDD1E", 40, 80);// Gclef
    g2.drawString("\uD834\uDD22", 40, 80);// Fclef
  }
};
f.setSize(200,200);
f.setVisible(true);
}
}

下载“bravura”字体here并找到unicode标准图表here

希望它对某人有帮助。

关于java 如何使用点或曲线绘制G谱号和F谱号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39284753/

相关文章:

javascript - 在 Teoria.js 中反转和弦的规范方法是什么

java - 为什么对字节进行右移 (>>) 位运算会产生奇怪的结果?

java - 如何加载与当前类不在同一个 jar 存档中的类?

java - 按字母顺序向数组添加元素

javascript - 通过和弦确定歌曲的调

正则表达式,用于匹配音乐和弦

Python music21 库从流创建 png

java - 如何在Java中创建类似于JFileChooser的东西?

java - Java 构建工具如何停止重建所有内容?