我想写一个简单的应用程序,需要在乐谱上显示音符(音乐人员的音符).它不是用于编写音乐符号软件,而是用于以只读模式显示员工的一些注释.我当然可以将图像作为背景,空白的工作人员并画出笔记......但当然这需要时间.
有合适的VCL组件吗?
当然,越丰富越好,无论如何即使是一个接一个地显示音符的基本组件就足够了.如果TMusicStaff的一个实例被称为MyMusicStaff,我可以用这种方式为它添加注释:
MyMusicStaff.Add([G4,F4,D4])
Run Code Online (Sandbox Code Playgroud)
(当然在Add方法中我没有指定持续时间,或者如果它们是和弦或旋律方式,它只是给出一个想法).
我想我表达了自己.
ulr*_*chb 12
一种可能性是使用像这样的音符字体在画布上绘制音符.
例如:
procedure TFormMain.PaintBoxNotesPaint(Sender: TObject);
var
Canvas: TCanvas;
begin
Canvas := TPaintBox(Sender).Canvas;
Canvas.Font.Name := 'MusiQwik';
Canvas.Font.Size := 30;
Canvas.TextOut(10, 30, '&=B=C=D=E=F=G=H=I=!=R=S=T=U=!');
end;
Run Code Online (Sandbox Code Playgroud)
得到:
注意到http://img534.imageshack.us/img534/3290/clipboard01fl.png