zoukankan      html  css  js  c++  java
  • 再学 GDI+[38]: 文本输出 DrawString、TGPFont

    本例效果图:



    代码文件:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm1 = class(TForm)
        Button1: TButton;
        Button2: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    uses GDIPOBJ, GDIPAPI;
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
      g: TGPGraphics;
      sb: TGPSolidBrush;
      font: TGPFont;
    begin
      g := TGPGraphics.Create(Canvas.Handle);
      sb := TGPSolidBrush.Create(aclBlack);
    
      {指定字体名和字号即可建立 TGPFont 类}
      font := TGPFont.Create('宋体', 9);
      g.DrawString('娇女字平阳 折花倚桃边 折花不见我 泪下如流泉', -1, font, MakePoint(10.0,20), sb);
      {参数 2 为 -1 表示输出所有指定字符; 参数 4 必须为 TGPPointF 结构}
    
      font.Free;
      sb.Free;
      g.Free;
    end;
    
    procedure TForm1.Button2Click(Sender: TObject);
    var
      g: TGPGraphics;
      sb: TGPSolidBrush;
      font: TGPFont;
    begin
      g := TGPGraphics.Create(Canvas.Handle);
      sb := TGPSolidBrush.Create(aclBlack);
    
      {借用其他 DC 的特征建立 TGPFont 类; 但好像不能继承所有特征, 譬如字体颜色}
      Canvas.Font.Name := '宋体';
      Canvas.Font.Size := 9;
      font := TGPFont.Create(Canvas.Handle);
    
      g.DrawString('小儿名伯禽 与姊亦齐肩 双行桃树下 抚背复谁怜', -1, font, MakePoint(10.0,40), sb);
    
      font.Free;
      sb.Free;
      g.Free;
    end;
    
    end.
    
    窗体文件:
    object Form1: TForm1
      Left = 0
      Top = 0
      Caption = 'Form1'
      ClientHeight = 105
      ClientWidth = 282
      Color = clBtnFace
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clWindowText
      Font.Height = -11
      Font.Name = 'Tahoma'
      Font.Style = []
      OldCreateOrder = False
      Position = poDesktopCenter
      PixelsPerInch = 96
      TextHeight = 13
      object Button1: TButton
        Left = 64
        Top = 68
        Width = 75
        Height = 25
        Caption = 'Button1'
        TabOrder = 0
        OnClick = Button1Click
      end
      object Button2: TButton
        Left = 145
        Top = 68
        Width = 75
        Height = 25
        Caption = 'Button2'
        TabOrder = 1
        OnClick = Button2Click
      end
    end
    
  • 相关阅读:
    org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration)
    快速制作gif动图
    Linux中安装Oracle11g后出现监听的问题及解决办法
    navicat连接不上Linux服务器上的MySQL
    lapacke svd实例
    ubuntu lapack安装与使用
    python numpy访问行列元素的方法
    numpy opencv matlab eigen SVD结果对比
    相似变换 SimilarityTransform 以及skimage源码
    OpenCV仿射变换+投射变换+单应性矩阵
  • 原文地址:https://www.cnblogs.com/del/p/1222910.html
Copyright © 2011-2022 走看看