2.3.3 文字属性
文字属性
SetTextAttributes
颜色:SetTextColorAlpha()
大小:SetTextSize()
SetTextSizePixels()
字体:SetTextFont()
角度:SetTextAngle(305);
对齐:SetTextAlign(12);
公式文字 TLatex
使用SetTextAlign()
函数设置文本的对齐方式;
使用SetTextSize()
函数设置文本的大小;
使用SetTextColor()
函数来设置文本的颜色,参考2.5.1。
文字种类
使用SetTextFont
设置字体。 参数为字体代码,它结合了字体和精度:font = 10 * fontID + precision
。如:root[] la->SetTextFont(62)
字体 ID 必须介于 1 和 14 之间。精度可以是:
0:快速字体(大小步长)
1:可扩展且可旋转的硬件字体
2:可扩展且可旋转的硬件字体。
当使用精度0时,为仅使用原始的非缩放系统字体。 这些字体速度快且质量好,但只支持4-37像素大小的文字,而且不能旋转。 1 和 2 字体具有不同的行为,具体取决于是否使用 True Type 字体 (TTF)。 如果使用 TTF,您总是会获得质量非常好的可缩放和可旋转字体。 然而,TTF速度很慢。 对于精度1,文本对某些特殊字符使用旧约定来绘制下标和上标或希腊文本。精度为2 时,“PostScript”特殊字符将按此绘制。

其他字符,比如日语、俄语、汉字:
公式语法
CERN root提供了支持LaTeX语法的文本绘制功能。你可以使用TLatex
类来在绘图中输入LaTeX表达式(Latex语法中的\需要替换为#)。以下是一个示例代码:
#include <iostream>
#include <TCanvas.h>
#include <TLatex.h>
void drawLatex() {
TCanvas *c1 = new TCanvas("c1", "Latex Example", 800, 600);
c1->cd();
// Create a TLatex object and set the position and text
TLatex *latex = new TLatex(0.5, 0.5, "This is a LaTeX expression: #frac{1}{2} #int_{0}^{#infty} e^{-x} dx");
latex->SetTextAlign(22);
latex->SetTextSize(0.04);
// Draw the latex expression
latex->Draw();
c1->Update();
}
在上面的代码中,TLatex
对象被创建并设置了位置和文本内容。
使用SetTextAlign()
函数设置文本的对齐方式;
使用SetTextSize()
函数设置文本的大小;
使用SetTextColor()
函数来设置文本的颜色。
然后,使用Draw()
函数将LaTeX表达式绘制出来。

参考
Last updated