我正在使用 Graphics 2D 制作音乐应用程序,并且我已经成功绘制了五线谱和音符。我现在正在尝试绘制 G 谱号
和一个 F 谱号
如果有其他可能的方法,我将不胜感激。
注意:我环顾了两天,看到了类似的问题,但还没有找到解决方案。
最佳答案
使用点和曲线并不是最好的方法。感谢@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/