zoukankan      html  css  js  c++  java
  • Delphi如何创建并绘制EMF图形文件

    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ExtCtrls;
    
    type
      TForm1 = class(TForm)
        PaintBox1: TPaintBox;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
        MetaFile : TMetaFile;
        MFCanvas : TMetaFileCanvas;
        BMP : TBitmap;
        LDC : HDC;
    begin
      try
        MetaFile := TMetaFile.Create;
        MetaFile.Height := Self.PaintBox1.Height;
        MetaFile.Width := Self.PaintBox1.Width;
        try
          LDC := GetDC(0);
          MFCanvas:=TMetafileCanvas.Create(MetaFile, LDC);
          MFCanvas.Pen.Color := clRed;
          MFCanvas.Pen.Width := 5;
          MFCanvas.Brush.Color :=clBlue;
          MFCanvas.MoveTo(0,0);
          MFCanvas.Rectangle(0,0,Self.PaintBox1.Width,Self.PaintBox1.Height);
          MFCanvas.LineTo(Self.PaintBox1.Width,Self.PaintBox1.Height);
        finally
           MFCanvas.Free;
           ReleaseDC(0,LDC);
        end;
        Self.PaintBox1.Canvas.Draw(0,0,MetaFile);
        MetaFile.SaveToFile('c:未命名2.EMF');
      finally
        MetaFile.Free;
      end;
      end;
    end.

    本程序在Delphi 2010上测试过,没有问题。

  • 相关阅读:
    foreach_and_函数
    集合
    二维数组
    二维数组的操作
    字符串类型的一些操作
    数组循环的操作及思路
    数组操作
    js各种获取当前窗口页面宽度、高度的方法
    Jquery 获取 radio选中值,select选中值
    jQuery效果:隐藏、显示、切换、滑动、淡入淡出、动画
  • 原文地址:https://www.cnblogs.com/China3S/p/9692331.html
Copyright © 2011-2022 走看看