文档章节

用 GDI 操作 EMF 文件[1]: CreateEnhMetaFile、CloseEnhMetaFile

涂孟超
 涂孟超
发布于 2014/09/26 15:34
字数 228
阅读 8
收藏 0
EMF 文件是 Windows 下的增强图元文件, 本例用最简单的代码创建了一个 EMF 文件.
CreateEnhMetaFile(
  DC: HDC;         {所参照的 DC, 为 0 表示参照当前的显示设备}
  FileName: PChar; {文件名, 为 nil 表示创建内存文件}
  Rect: PRect;     {外接矩形(单位是 0.1 毫米), 为 nil 表示使用最小矩形}
  Desc: PChar      {描述性的说明文本, 可为 nil}
): HDC;

 
 
 
 
 

 

 

  
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
const
  Path = 'C:\Temp\MyMetaFile.emf'; {CreateEnhMetaFile 创建文件时, 存在则覆盖}
var
  MetaFileDC: HDC; {EMF 文件 DC}
begin
  MetaFileDC := CreateEnhMetaFile(0, PChar(Path), nil, nil); {建立}
  Ellipse(MetaFileDC, 10, 10, 100, 60);                      {绘制}
  CloseEnhMetaFile(MetaFileDC);                              {关闭并保存}
  DeleteObject(MetaFileDC);
end;

end.

 
 
 
 
 

 

 

  
增强图元文件的相关函数:
CloseEnhMetaFile             {}
CopyEnhMetaFile              {}
CreateEnhMetaFile            {}
DeleteEnhMetaFile            {}
EnhMetaFileProc              {}
EnumEnhMetaFile              {}
GdiComment                   {}
GetEnhMetaFile               {}
GetEnhMetaFileBits           {}
GetEnhMetaFileDescription    {}
GetEnhMetaFileHeader         {}
GetEnhMetaFilePaletteEntries {}
GetWinMetaFileBits           {}
PlayEnhMetaFile              {}
PlayEnhMetaFileRecord        {}
SetEnhMetaFileBits           {}
SetWinMetaFileBits           {}

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2008/06/04/1213706.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
VC实现多格式图像的转换

色彩鲜艳漂亮的高品质图像,一个个形象生动的Windows图标,高速运动、活灵活现的三维动画,这些无一不显示出程序设计者的艺术才华。在程序设计中,图像处理已经成为每个程序员的必修课。 在V...

余二五
2017/11/06
0
0
EMF介绍系列(二、从模型生成应用程序)

还是从一个例子里看看EMF的使用方法和作用吧。假设我们的应用是一个网上商店,在系统里有这些对象:商店Shop、类别Category、 商品Product,其中类别可以包含子类别。现在我们用EMF从头到尾生...

青夜之衫
2017/12/06
0
0
GDI+图像处理学习笔记——改变图像的透明度

GDI+是WindowsXp和windows Server 2003中的一个子系统,主要用于处理系统的绘制消息。GDI+是GDI的扩展,其继承了GDI的有点并在其基础上进行了改进,包括增加了一些GDI无法绘制的图形函数,同...

晨曦之光
2012/05/23
491
0
VC 6.0 配置和使用gdi+

GDI+ GDI+是Windows XP中的一个子系统,它主要负责在显示屏幕和打印设备输出有关信息,它是一组通过C++类实现的应用程序编程接口。顾名思义,GDI+是以前版本GDI的继承者,出于兼容性考虑,W...

junwong
2012/03/23
1K
0
Poechant 教你如何安装Eclipse的Visual Editor(VE),只需要复制粘贴,其实就那么简单

大家好,我是Sniper。本人刚入门,本想用Java写个数据库软件,偶然知道还有VE这个东西,就拿来用用吧。 没想到配置起来比自己想象的要麻烦一些。 1、下载 下面这四个文件,经本人亲自尝试,配...

晨曦之光
2012/04/24
292
0

没有更多内容

加载失败,请刷新页面

加载更多

等语句含义

经常会看到某些网站的框架中会用到 <!--[if IE7]><![endif]--> 等语句,今天特意查阅了下它们的区别: <!--[if IE]>所有的IE可识别<![end if]--><!--[if !IE]>除IE外都能识别<![end if]-->......

度_
2分钟前
0
0
资源的有限性与任务的复杂性之间的矛盾

看了一篇文章How to Manage Connections Efficiently in Postgres, or Any Database, 文章讨论了如何管理Postgres数据库连接,列举了几种方式: 每个请求一个连接 连接复用 连接池 连接池管理...

52iSilence7
2分钟前
0
0
Python PEP8规范整理

PEP8规范总结 PEP8 是什么呢,简单说就是一种编码规范,是为了让代码“更好看”,更容易被阅读。 具体有这些规范,参考 PEP 8 --Style Guide for Python Code.当然也可以使用Pycharm检查或使...

_Change_
14分钟前
0
0
input去空格

货币转换while True:MonStr = input()if MonStr[:3] == "RMB":USD = eval(MonStr[3:])/6.78print("USD{:.2f}".format(USD))elif MonStr[:3] == "USD":RMB = eval(MonStr[3:......

fadsaa
17分钟前
0
0
单例设计模式

单例设计模式 设计模式介绍与代码编写 在编写程序时经常会遇到一些典型的问题或需要完成某种特定需求.设计模式就是针对这些问题和需求.在大量的实践中总结和理论化之后的代码结构.编程风格以...

码农屌丝
18分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部