delphi Canvas font 字体相关

52次阅读
没有评论

文字的抗锯齿绘制

我们要做的就是修改其Quality属性,该值决定了文字的输出质量,
可取值为fqDefault(默认质量)、fqDraft(草稿质量)、fqProof(正稿质量)、fqNonAntialiased(无抗锯齿质量)和fqAntialiased(抗锯齿质量)

我使用以下语句,在图片上画出的问题锯齿明显消除。
img2.Picture.Bitmap.Canvas.Font.Quality := fqAntialiased;

字体相关属性

{Style: 字体样式; 是个集合值, 是下面可选值或它们的组合:}
  fsBold      = System.UITypes.TFontStyle.fsBold;
  {$EXTERNALSYM fsBold}
  fsItalic    = System.UITypes.TFontStyle.fsItalic;
  {$EXTERNALSYM fsItalic}
  fsUnderline = System.UITypes.TFontStyle.fsUnderline;
  {$EXTERNALSYM fsUnderline}
  fsStrikeOut = System.UITypes.TFontStyle.fsStrikeOut;
  {$EXTERNALSYM fsStrikeOut}
{Pitch: 是字间距相关的, 有三个枚举值可选(不过我没测试出效果):}
  fpDefault  = System.UITypes.TFontPitch.fpDefault;
  {$EXTERNALSYM fpDefault}
  fpVariable = System.UITypes.TFontPitch.fpVariable;
  {$EXTERNALSYM fpVariable}
  fpFixed    = System.UITypes.TFontPitch.fpFixed;
  {$EXTERNALSYM fpFixed}

  {Quality属性,该值决定了文字的输出质量}
  fqDefault          = System.UITypes.TFontQuality.fqDefault;
  {$EXTERNALSYM fqDefault}
  fqDraft            = System.UITypes.TFontQuality.fqDraft;
  {$EXTERNALSYM fqDraft}
  fqProof            = System.UITypes.TFontQuality.fqProof;
  {$EXTERNALSYM fqProof}
  fqNonAntialiased   = System.UITypes.TFontQuality.fqNonAntialiased;
  {$EXTERNALSYM fqNonAntialiased}
  fqAntialiased      = System.UITypes.TFontQuality.fqAntialiased;
  {$EXTERNALSYM fqAntialiased}
  fqClearType        = System.UITypes.TFontQuality.fqClearType;
  {$EXTERNALSYM fqClearType}
  fqClearTypeNatural = System.UITypes.TFontQuality.fqClearTypeNatural;
  {$EXTERNALSYM fqClearTypeNatural}
{Orientation: 旋转角度, 单位是 1/10 度, 举个例子:}
img2.Picture.Bitmap.Canvas.Font.Orientation := 450; 

更多delphi 图像相关函数 见https://www.cnblogs.com/guorongtao/category/1488287.html

正文完