文档章节

用 GDI 操作 EMF 文件[2]: PlayEnhMetaFile、DeleteEnhMetaFile

涂孟超
 涂孟超
发布于 2014/09/26 15:37
字数 119
阅读 2
收藏 0
点赞 0
评论 0
创建 EMF 文件, 并同时绘制在窗体.
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';
var
  MetaFileDC: HDC;         {EMF 画布句柄}
  HMetaFile: HENHMETAFILE; {EMF 文件句柄}
begin
  MetaFileDC := 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.

 
 
 
 
 

 

 

  

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

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

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

余二五 ⋅ 2017/11/06 ⋅ 0

EMF介绍系列(二、从模型生成应用程序)

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

青夜之衫 ⋅ 2017/12/06 ⋅ 0

VC 6.0 配置和使用gdi+

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

junwong ⋅ 2012/03/23 ⋅ 0

GDI+图像处理学习笔记——改变图像的透明度

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

晨曦之光 ⋅ 2012/05/23 ⋅ 0

写代码的代码:JET

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

青夜之衫 ⋅ 2017/12/06 ⋅ 0

Poechant 教你如何安装Eclipse的Visual Editor(VE),只需要复制粘贴,其实就那么简单

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

晨曦之光 ⋅ 2012/04/24 ⋅ 0

Graphical Modeling Framework简介

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

青夜之衫 ⋅ 2017/12/07 ⋅ 0

Eclipse安装VE插件(转载)

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

哈全文 ⋅ 2012/06/01 ⋅ 0

CAD文件以及图片浏览库CADViewX控件

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

yidongkaifa ⋅ 2014/04/24 ⋅ 0

Eclipse安装Activiti Designer 5.14.1插件错误处理

由于工作中需在eclipse开发环境下集成activiti插件,中间碰到插件不能安装的问题,特记录如下: 一、环境 1、eclipse 4.3.0 2、Activiti Designer 5.14.1 二、Activiti Designer 5.14.1插件安...

again-Y ⋅ 2014/04/13 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

用SQL命令查看Mysql数据库大小

要想知道每个数据库的大小的话,步骤如下: 1、进入information_schema 数据库(存放了其他的数据库的信息) use information_schema; 2、查询所有数据的大小: select concat(round(sum(da...

源哥L ⋅ 40分钟前 ⋅ 0

两个小实验简单介绍@Scope("prototype")

实验一 首先有如下代码(其中@RestController的作用相当于@Controller+@Responsebody,可忽略) @RestController//@Scope("prototype")public class TestController { @RequestMap...

kalnkaya ⋅ 45分钟前 ⋅ 0

php-fpm的pool&php-fpm慢执行日志&open_basedir&php-fpm进程管理

12.21 php-fpm的pool pool是PHP-fpm的资源池,如果多个站点共用一个pool,则可能造成资源池中的资源耗尽,最终访问网站时出现502。 为了解决上述问题,我们可以配置多个pool,不同的站点使用...

影夜Linux ⋅ 54分钟前 ⋅ 0

微服务 WildFly Swarm 管理

Expose Application Metrics and Information 要公开关于我们的微服务的有用信息,我们需要做的就是将监视器模块添加到我们的pom.xml中: 这将使在管理和监视功能得到实现。从监控角度来看,...

woshixin ⋅ 54分钟前 ⋅ 0

java连接 mongo伪集群部署遇到的坑

部署mongo伪集群 #创建mongo数据存放文件地址mkdir -p /usr/local/config1/datamkdir -p /usr/local/config2/data mkdir -p /usr/local/config3/data mkdir -p /usr/local/config1/l......

努力爬坑人 ⋅ 55分钟前 ⋅ 0

React Native & Weex 区别

JS引擎 Weex使用V8, React native使用JSCore JS开发框架 ( Js Framework ) Weex基于vue.js(2W+ star)。小巧轻量的前端开发框架,组件化,数据绑定,2.0引入virtual dom。 ReactNative使用...

东东笔记 ⋅ 今天 ⋅ 1

UIkit 分页组件动态加载简单实现

1. 问题描述 使用过UIkit分页组件的都清楚,UIkit的分页不能动态刷新数据,也就是不能在点击下一页的时候,动态从后台加载数据,并且刷新页数以及该页数上的数据,下面是一个简单实现,没有做...

影狼 ⋅ 今天 ⋅ 0

Mobx入门之三:Provider && inject

上一节中<App/>组件传递状态temperatures给children -- <TemperatureInput />,如果组建是一个tree, 那么属性的传递则会非常繁琐。redux使用Provider给子组件提供store, connect将子组件和s...

pengqinmm ⋅ 今天 ⋅ 0

魔兽世界 7.0版本 S23/S24/S25全职业普通+精锐套

  死亡骑士   (联盟)   (部落)   (精锐)   恶魔猎手   (联盟)   (部落)   (精锐)   德鲁伊   (联盟)   (部落)   (精锐)   猎人   (联盟) ...

wangchen1999 ⋅ 今天 ⋅ 0

maven顶级pom和子pom的版本号批量修改

当一个版本发布,新起一个版本时,我们只需要手动修改一下项目中pom.xml的版本号就可以了。但是如果这个maven项目有很多的子模块项目,那么一个个手动的去改就显得费时费力又繁琐了。还好,m...

ArlenXu ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部