vc++ GDI

原创 2007年10月08日 16:14:00

1.Windows坐标系
  逻辑坐标系  GDI图形和文本输出  面向DC的坐标系,windows 会根据当前的设置的映射模式转换为设备坐标.
  设备坐标系  客户区的移动或按下鼠标的鼠标位置 面向物理设备的坐标系,以像素或设备的最小单位,X轴方向向右,Y轴方向向下。设备的坐标原点可以在(0,0),不限定在设备显示区域的左上角。屏幕,窗口,客户三种坐标。
屏幕——左上角为(0,0) 如,SetCursorPos()
窗口——左上角为(0,0)丛标题栏算起
客户——以客户区左上角为起点
2.坐标转换
屏幕《》客户
  CWnd::ScreenToClient()
  CWnd::ClientToScreen()
设备坐标《》逻辑
CDC:DPtoLP()和CDC::LPtoDP()
3.设置坐标原点
CDC::SetWindowOrg()  设置设备环境的窗口原点(逻辑窗口坐标系的原点在视口)位置 (窗口对应于逻辑坐标系,用户设定的区域)
CDC::SetViewportOrg() 重新设置设备的视口原点(设备实际输出的区域的原点)的坐标(视口对应于实际输出设备,用户设定的一个区域)
设备(视口)坐标=逻辑坐标-窗口原点坐标+视口原点坐标

4.画图
 创建GDI对象——>选择GDI——>释放GDI
使用堆对象  pDC->SelectStockObject(NULL_PEN);
CGdiObeject ::CreateStockObject();——>selectObject();
5.位图
DDB DIB 两种
CBitmap 类将DIB转换为DDB
方法:
CDC::CreateCompatibleDC();
CBitmap::LoadBitmap();//or CBitmap::CreateCompatibleBitmap()
CDC::SelectObject()
CDC::BitBlt() or CDC::StretchBlt()

6.图标
CWinApp::LoadStandardIcon()//加载系统预定义图标 or AfxGetApp->LoadIcon(IDI_ICON1);加载自定义图标
CDC::DrawIcon() ——》DestroyIcon//or 用在初始化时,CWnd::SetIcon()

7.光标
建立光标资源——>CWinApp::LoadCursor()//or CWinApp::LoadStandardCursor()加载系统光标——>SetCursor()
在WM_SETCURSOR消息中处理函数OnSetCursor()设置光标 

C++/GDI+ 学习笔记(一)——安装、配置&使用

使用GDI+很简单。需要做的有一下几个步骤。  1. 安装GDI+ SDK开发包。网上很多地方都有下载。解压到一个地方即可。  2. 设置编译器的包含路径,VC6的设置方法是 Tools/Opti...
  • hireboy
  • hireboy
  • 2013-05-29 16:18:16
  • 7038

GDI和GDI+编程实例剖析

转自:http://dev.yesky.com/255/2190255.shtml   1.基本概念        GDI在Windows中定义为Graphics Device ...
  • stoneboy100200
  • stoneboy100200
  • 2012-10-12 14:32:11
  • 25591

C++ GDI+简单示例(绘制直线)

1. 创建MFC应用程序, CMyApp 2. 在stdafx.h文件中加入GDI+支持 //GDI+支持 #include using namespace Gdiplus; #pragma...
  • yao_yu_126
  • yao_yu_126
  • 2013-08-24 17:41:06
  • 2493

GDI+教程(C++中文版)

GDI+教程(C++中文版)
  • u012541187
  • u012541187
  • 2016-11-28 14:06:21
  • 941

C++ gdi+编程详解

  • 2011年06月30日 09:26
  • 615KB
  • 下载

如何在C++中使用GDI+

假设是用的MFC架构: 1. 添加头文件和依赖库: stdafx.h中添加: #include using namespace Gdiplus; #pragma comment(l...
  • wqyun84
  • wqyun84
  • 2012-11-03 10:45:29
  • 146

如何在VC中使用GDI+。

GDI+可应用于二维向量图象,栅格图象及排版,是为C/C++程序员而设计的表现为C++类而存在的接口,能用于一切基于Windows的应用中。作为GDI的后继者,GDI+在GDI中增加了新功能,如文本的...
  • desow
  • desow
  • 2009-09-25 09:54:00
  • 18793

GDI+教程(C++中文版).pdf

  • 2013年10月29日 10:39
  • 1.35MB
  • 下载

C++/GDI+ 学习笔记(二)——几个例子

第一个例子 Hello World! 第一个最经典的例子当然是Hello World了:) TAG: GDIPlus      1.     第一个例子——“Hello ...
  • hireboy
  • hireboy
  • 2013-05-29 16:19:24
  • 3433

C++ GDI 吃豆人游戏

源码已上传到 CSDN, 等待审核后 放出下载链接...
  • kakaxi2222
  • kakaxi2222
  • 2016-08-06 17:41:20
  • 1265
收藏助手
不良信息举报
您举报文章:vc++ GDI
举报原因:
原因补充:

(最多只允许输入30个字)