我正在尝试在画布上绘制字体图标。我正在使用Ionicons字体。我所得到的只是屏幕上的一个矩形。
var
x1, y1: integer;
xChr: WideChar;
begin
x1 := 10;
y1 := 10;
fMaleIcon := $f202;
fFemailIcon := $f25d;
if xRep.Male then
xChr := Char(fMaleIcon)
else
xChr := Char(fFemaleIcon);
xCanvas.TextOut(x1, y1, xChr);
end;
我究竟做错了什么?
谢谢-史蒂夫
最佳答案
空矩形表示您使用的字体不包含这些字符的字形。您必须使用可以的字体。
您的代码相当复杂。我会这样写:
var
xChr: Char;
begin
if xRep.Male then
xChr := #$f202;
else
xChr := #$f25d;
xCanvas.TextOut(10, 10, xChr);
end;
也许:
const
GenderChars: array [Boolean] of Char = (#$f25d, #$f202);
....
xCanvas.TextOut(10, 10, GenderChars[xRep.Male]);
您可能想声明一个枚举类型来保存您的性别信息,而不是一个
Boolean
。