文档章节

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

涂孟超
 涂孟超
发布于 2014/09/26 15:37
字数 119
阅读 32
收藏 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
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
加载中

评论(0)

GDI+学习---2.GDI+编程模式及组成类

  在使用GDI+的时候,您不必像在GDI中那样关心设备场景句柄,只需简单地创建一个Graphics对象,然后以您熟悉的面向对象的方式(如myGraphicsObject.DrawLine(parameters))调用它的方法即可...

osc_wa6fkyf0
2018/08/11
1
0
usb口打印机的指令打印和驱动打印

打印机简介:是计算机的输出设备之一,用于将计算机处理结果打印在相关介质上。 打印机类型:激光打印机、喷墨打印机、针式打印机、热敏打印机等。 计算机和打印机之间的连接方式:usb口、串...

osc_syqp8xt3
04/16
6
0
Google Chrome宣布运用微软XPS Print API接口提供打印功能

Google Chromium决定使用XPS Print API代替GDI Print API进行打印,因为该公司相信前者“可以提高性能,并减少打印过程中Chromium中的对话”。今天,Chromium团队向Canary版本添加了一个新标...

稿源:
2019/11/23
0
0
VC实现多格式图像的转换

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

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

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

青夜之衫
2017/12/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

数据倾斜

数据倾斜: 两种数据倾斜发生的现象: 80%情况下都发生挂了,只有极少20%情况下能把task执行完成 窄依赖:结构简单,如果发生数据丢失,方便查找丢失的数据 宽依赖:结构复杂,如何发生数据丢...

七宝1
59分钟前
20
0
我的jdk源码(十一):ArrayList

一、概述 ArrayList类是AbstractList的子类,实现了具体的add(), set(), remove()等方法。它是一个可调整大小的数组可以用来存放各种形式的数据。 二、源码分析 (1) 类的声明,源码如下: ...

Java觉浅
昨天
24
0
vnc server,vnc server是什么,vnc工具推荐

nc server是一个用来共享linux服务器上资源给其他分布式用户的服务只要再一台linux系统的机器上安装vnc server,然后开启服务,其他机器就可以通过vncviewer访问这台机器上的共享资源,那么今...

兔子m
昨天
20
0
COLA的扩展性使用和源码研究

cola扩展点使用和设计初探 封装变化,可灵活应对程序的需求变化。 扩展点使用 步骤: 定义扩展点接口,类型可以是校验器,转换器,实体; 必须以ExtPt结尾,表示一个扩展点。 比如,我定义一个...

李福春carter
昨天
27
0
0、MySql第零章,安装及集群配置

MySql第零章,安装及集群配置 一、MySql安装 1、RPM安装 RPM安装,无法自定义一些安装路径和配置文件路径 ##以后再填坑 2、Generic安装 二进制 预编译 Generic,下载地址: https://cdn.m...

有一个小阿飞
昨天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部