我想在画布上绘制一个矩形,我想用文本填充它。我已尝试使用以下代码,但只有正确对齐才能成功。
任何人都可以帮助我吗?如何在左对齐的画布上绘制文本?
{Header Table}
SetStyleHuruf(FCanvas, fsBold, 12, clWhite, 'Maiandra GD');
Brush.Color := color;
Rectangle(cx+50, cy-50, cx+370, cy - 30);
TextOut(round(cx + 215), cy-50, Name);`
答案 0 :(得分:2)
查看TextOut
:
procedure TextOut(X, Y: Integer; const Text: string); override;
帮助中的描述说明:
在画布上写一个字符串,从点(X,Y)开始,...
因此,修改代码以在X坐标处绘制文本,该坐标更接近矩形的左边框而不是右边。例如:
TextOut(round(cx + 215), cy-50, Name);
从矩形的左边框输出文本5个像素
TextOut(round(cx + 55), cy-50, Name);
BTW,假设cx
是一个整数,你不需要使用Round()
答案 1 :(得分:1)