Welcome

首页 / 软件开发 / Delphi / Delphi GDI+ 学习记录(23): 输出文本<2>

Delphi GDI+ 学习记录(23): 输出文本<2>2012-03-26 cnblogs 万一//在矩形范围中显示文本var
g: TGPGraphics;
fontFamily: TGPFontFamily;
font: TGPFont;
rectF: TGPRectF;
p: TGPPen;
sb: TGPSolidBrush;
str: WideString;
begin
g := TGPGraphics.Create(Canvas.Handle);
fontFamily:= TGPFontFamily.Create("宋体");
font:= TGPFont.Create(fontFamily, 9, FontStyleRegular, UnitPoint);
p := TGPPen.Create(aclRed);
sb:= TGPSolidBrush.Create(MakeColor(255, 0, 0, 0));
rectF:= MakeRect(10.0, 10.0, 116.0, 100.0); {包含文本的矩形范围}
str := "万一万一万一万一万一万一万一万一万一万一万一万一万一万一万一";
g.DrawRectangle(p, rectF);
g.DrawString(str, -1, font, rectF, nil, sb);
{参数4不能用TGPRect,只能是TGPRectF; 参数5是文字格式对象,后面举例}
fontFamily.Free;
font.Free;
p.Free;
sb.Free;
g.Free;
end;
//设置对齐方式var
g: TGPGraphics;
str: String;
fontFamily: TGPFontFamily;
font: TGPFont;
rectF: TGPRectF;
strFormat: TGPStringFormat;
sb: TGPSolidBrush;
p: TGPPen;
begin
g := TGPGraphics.Create(Canvas.Handle);
fontFamily:= TGPFontFamily.Create("Arial");
font:= TGPFont.Create(fontFamily, 12, FontStyleBold, UnitPoint);
rectF:= MakeRect(30.0, 10.0, 120.0, 140.0);
sb:= TGPSolidBrush.Create(MakeColor(255, 0, 0, 255));
strFormat:= TGPStringFormat.Create;
strFormat.SetAlignment(StringAlignmentCenter); {设置左右对齐方式}
strFormat.SetLineAlignment(StringAlignmentCenter); {设置垂直对齐方式}
str := "wy wy wy wy wy wy wy wy wy wy wy wy wy wy wy wy wy wy";
g.DrawString(str, -1, font, rectF, strFormat, sb);
p:= TGPPen.Create(MakeColor(255, 0, 0, 0));
g.DrawRectangle(p, rectF);
fontFamily.Free;
font.Free;
strFormat.Free;
sb.Free;
p.Free;
g.Free;
end;