创建 EMF 文件, 并同时绘制在窗体.


unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 = class(TForm)Button1: TButton;procedure Button1Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
constPath = 'C:\Temp\MyMetaFile.emf';
varMetaFileDC: HDC;         {EMF 画布句柄}HMetaFile: HENHMETAFILE; {EMF 文件句柄}
beginMetaFileDC := CreateEnhMetaFile(0, PChar(Path), nil, nil);Ellipse(MetaFileDC, 10, 10, 100, 60);HMetaFile := CloseEnhMetaFile(MetaFileDC);{在窗体上按原始大小绘制 EMF}PlayEnhMetaFile(Canvas.Handle, HMetaFile, Rect(10,10,100,60));DeleteObject(MetaFileDC);DeleteEnhMetaFile(HMetaFile);
end;end.

用 GDI 操作 EMF 文件[2]: PlayEnhMetaFile、DeleteEnhMetaFile相关推荐

  1. 用 GDI 操作 EMF 文件(转)

    用 GDI 操作 EMF 文件[1]: CreateEnhMetaFile.CloseEnhMetaFile 用 GDI 操作 EMF 文件[2]: PlayEnhMetaFile.DeleteEnh ...

  2. 用 GDI 操作 EMF 文件[6]: GetEnhMetaFileHeader - 获取 EMF 的头文件

    //增强图元文件的头文件结构 TEnhMetaHeader: tagENHMETAHEADER = packed recordiType: DWORD; {记录类型}nSize: DWORD; {结构 ...

  3. 用 GDI 操作 EMF 文件[5]: GetEnhMetaFileDescription - 获取 EMF 文件的说明文本

    再用 CreateEnhMetaFile 函数建立 EMF 文件时可以同时写入描述性说明; 用 GetEnhMetaFileDescription 函数可以读出 EMF 文件的说明文本. 本例给的说明 ...

  4. 用 GDI 操作 EMF 文件[8]: 绘制图元文件时改变画笔与画刷

    本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Contr ...

  5. MS15-035 EMF文件处理漏洞分析与POC构造

    cssembly · 2015/04/21 9:58 MS15-035是Microsoft Graphics 组件处理增强型图元文件 (EMF) 的漏洞,可能允许远程执行代码. 通过补丁比对,可以看到 ...

  6. C#在客户端和服务端操作Excel文件

    一.在客户端把数据导入到Excel文件步骤 1.创建Excel application对象,打开或生成Excel文件 //服务端创建StringBuilder对象     System.Text.St ...

  7. C++ 学习笔记之——文件操作和文件流

    1. 文件的概念 对于用户来说,常用到的文件有两大类:程序文件和数据文件.而根据文件中数据的组织方式,则可以将文件分为 ASCII 文件和二进制文件. ASCII 文件,又称字符文件或者文本文件,它的 ...

  8. python中csv文件操作_python中操作csv文件

    python中操作csv文件 读取csv improt csv f = csv.reader(open("文件路径","r")) for i in f: pri ...

  9. 解决修改properties 属性文件存在缓存问题,附带操作properties文件工具类

    2019独角兽企业重金招聘Python工程师标准>>> 在做项目的时候有些数据不一定需要在数据库管理,例如数据库连接,定时任务等等的配置..有时候需要动态修改这些数据,但在修改完后, ...

最新文章

  1. centos7添加Oracle到指定IP,Oracle Linux 7.1 增加网卡及IP配置
  2. JavaScript中十种一步拷贝数组的方法
  3. python能够做什么软件-Python能做什么
  4. ERROR (ClientException): Unexpected API Error
  5. Sentinel(二十二)之使用Nacos存储规则
  6. ant4 多个form 验证_爬虫遇到头疼的验证码?Python实战讲解弹窗处理和验证码识别...
  7. Bootstrap学习笔记(一)
  8. 多个折线样式_新技能get,折线图转化成多阶梯瀑布图
  9. datatable更新到mysql_.NET_使用DataTable更新数据库(增,删,改),1、修改数据复制代码 代码如 - phpStudy...
  10. Synchronized的锁优化,kotlin中文文档pdf
  11. HCE技术在城市一卡通中的应用探讨
  12. 【神操作】网络分线器短路导致公司网络瘫痪
  13. 常用的27个Stata命令
  14. innosetup 通过操作注册表来添加默认文件关联
  15. LeetCode-347. Top K Frequent Elements [C++][Java]
  16. Sketch插件介绍
  17. SUST_2018 焦作站亚洲区域赛校内选拔赛题解
  18. 医疗项目业务以及表设计介绍
  19. 【程序员的浪漫】花式表白
  20. echarts自定义地图总结(VUE)

热门文章

  1. java设计模式-适配器模式
  2. 清科-2018年中国金融科技领域10强
  3. 史上最全ajax全套讲解
  4. 提高PHP运行速度的小技巧
  5. display:inline-block的妙用!!列表布局!!
  6. python 客户端 如何获取手机_Python学习---Django的request扩展[获取用户设备信息]
  7. flask执行python程序_Flask app后如何执行代码(应用程序运行)开始
  8. 区块链热度背后的资本市场
  9. 什么是棉绒,它如何节省您的时间?
  10. php 自动返回,PHP实现自动识别Restful API的返回内容类型