文档章节

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

涂孟超
 涂孟超
发布于 2014/09/26 15:34
字数 228
阅读 7
收藏 0
点赞 0
评论 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
写代码的代码:JET

用过EMF的人想必都对它的代码生成功能印象深刻吧,有没有想过这是怎样实现的呢? 代码生成一般是通过写好的模板,在用户输入一些限制条件后,由程序把这两者结合起来得到需要的代码。EMF也是...

青夜之衫
2017/12/06
0
0
Graphical Modeling Framework简介

本文假设读者有Eclipse平台应用程序开发经验,了解Eclipse平台的插件机制,使用EMF和GEF开发过应用程序。在本文中,“Eclipse应用程序”等价于“Eclipse插件”。 Eclipse是一个开源的平台,从...

青夜之衫
2017/12/07
0
0
Poechant 教你如何安装Eclipse的Visual Editor(VE),只需要复制粘贴,其实就那么简单

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

晨曦之光
2012/04/24
292
0
Eclipse安装VE插件(转载)

最近在网上找关于安装VE插件的文章,找了好久发现这篇文章讲的非常不错,按照它所说的能安装成功。 特别提醒:红色的字请仔细阅读。 准备工作: 1、下载JDK(150_09); 2、下载Eclipse(3.2...

哈全文
2012/06/01
0
0
CAD文件以及图片浏览库CADViewX控件

CADViewX是一款强大的CAD文件以及图片浏览库,在不需要其他三方软件的环境下,支持打开,浏览,打印CAD文件以及其他格式图片,并且支持鼠标拖拉,放大等操作。 具体功能: 支持AutoCAD DWG, ...

yidongkaifa
2014/04/24
0
0
C# 文档转换—Excel 转PDF/IMAGE/HTML/TXT/XML/XPS/CSV/ODS等

在日常工作中可能会遇到将某文件转换为其他格式的文件的情况,在本篇文章中将介绍如何用控件Free Spire.XLS for.NET(社区版)将Excel文档转为PDF、IMAGE、HTML、TXT、XML、XPS、CSV、ODS、S...

E_iceblue
03/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

SpringBoot | 第十章:Swagger2的集成和使用

前言 前一章节介绍了mybatisPlus的集成和简单使用,本章节开始接着上一章节的用户表,进行Swagger2的集成。现在都奉行前后端分离开发和微服务大行其道,分微服务及前后端分离后,前后端开发的...

oKong
今天
9
0
Python 最小二乘法 拟合 二次曲线

Python 二次拟合 随机生成数据,并且加上噪声干扰 构造需要拟合的函数形式,使用最小二乘法进行拟合 输出拟合后的参数 将拟合后的函数与原始数据绘图后进行对比 import numpy as npimport...

阿豪boy
今天
4
0
云拿 无人便利店

附近(上海市-航南路)开了家无人便利店.特意进去体验了一下.下面把自己看到的跟大家分享下. 经得现场工作人员同意后拍了几张照片.从外面看是这样.店门口的指导里强调:不要一次扫码多个人进入....

周翔
昨天
1
0
Java设计模式学习之工厂模式

在Java(或者叫做面向对象语言)的世界中,工厂模式被广泛应用于项目中,也许你并没有听说过,不过也许你已经在使用了。 简单来说,工厂模式的出现源于增加程序序的可扩展性,降低耦合度。之...

路小磊
昨天
176
1
npm profile 新功能介绍

转载地址 npm profile 新功能介绍 npm新版本新推来一个功能,npm profile,这个可以更改自己简介信息的命令,以后可以不用去登录网站来修改自己的简介了 具体的这个功能的支持大概是在6这个版...

durban
昨天
1
0
Serial2Ethernet Bi-redirection

Serial Tool Serial Tool is a utility for developing serial communications, custom protocols or device testing. You can set up bytes to send accordingly to your protocol and save......

zungyiu
昨天
1
0
python里求解物理学上的双弹簧质能系统

物理的模型如下: 在这个系统里有两个物体,它们的质量分别是m1和m2,被两个弹簧连接在一起,伸缩系统为k1和k2,左端固定。假定没有外力时,两个弹簧的长度为L1和L2。 由于两物体有重力,那么...

wangxuwei
昨天
0
0
apolloxlua 介绍

##项目介绍 apolloxlua 目前支持javascript到lua的翻译。可以在openresty和luajit里使用。这个工具分为两种模式, 一种是web模式,可以通过网页使用。另外一种是tool模式, 通常作为大规模翻...

钟元OSS
昨天
2
0
Mybatis入门

简介: 定义:Mybatis是一个支持普通SQL查询、存储过程和高级映射的持久层框架。 途径:MyBatis通过XML文件或者注解的形式配置映射,实现数据库查询。 特性:动态SQL语句。 文件结构:Mybat...

霍淇滨
昨天
2
0
开发技术瓶颈期,如何突破

前言 读书、学习的那些事情,以前我也陆续叨叨了不少,但总觉得 “学习方法” 就是一个永远在路上的话题。个人的能力、经验积累与习惯方法不尽相同,而且一篇文章甚至一本书都很难将学习方法...

_小迷糊
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部