windows程序设计之绘图基础之度量映射模式

   逻辑坐标被映射到不同的显示设备,x和y都会被映射,所以即使是设备不同,x和y是同时改变,所以就不会改变所绘图形的形状。

  使用GetDevicecaps设置视口和窗口的范围。

  设置左上角的逻辑坐标系统

  设置左下角的逻辑坐标系统

  设置正中间的逻辑坐标系统

  调用SetWindowOrgEx函数设置逻辑点。

  pt.x = xClient ;

  pt.y = yclient ;

  DpthLP(hdc ,&pt, 1) ;

  SetWindowOrgEx(hdc , -pt.x/2 , -pt.y/2 , NULL) ;

时间: 2024-09-29 08:29:33

windows程序设计之绘图基础之度量映射模式的相关文章

windows程序设计(五)---映射模式(转换设备坐标和逻辑坐标)

在窗口指定位置显示图形或文字,我们使用的坐标单位是象素,称之为设备坐标.看下面语句: pDC->Rectangle(CRect(0,0,200,200)); 画一个高和宽均为200个象素的方块,因为采用的是默认的MM_TEXT映射模式,所以在设备环境不一样时,画的方块大小也不一样,在1024*768的显示器上看到的方块会比640*480的显示器上的小(在不同分辨率下的屏幕象素,在WINDOWS程序设计一书中有示例程序可以获得,或者可以用GetClientRect函数获得客户区的矩形大小.在这里就

VB鼠标绘图基础资料总结

VB鼠标绘图基础资料总结 鉴于上半年编写过鼠标绘图的程序,在此将以前搜集的资料总结一下,给那些以前和我一样到处搜索的VB爱好者们一点方便,同时欢迎交流和指正.这里我尽量写的罗嗦又罗嗦一些,希望大家不要怪我.因为我们很多的资料都是理论性太强了,实用性或者说教人怎么用,太弱了.我希望能够罗嗦明白一点.我也是一个VB刚刚入门的人,把有限的经验写出来和大家分享. 前言鼠标绘图可以说是每一个VB编程者都想必定要尝试和锻炼的一个项目.学会了鼠标绘图,你就学会了Windows的鼠标操作,屏幕模映射模式,绘图模

《交互式程序设计 第2版》一3.4 Processing绘图基础

3.4 Processing绘图基础 因为Processing是为艺术家提供的工具,所以它简化了很多任务,其中最重要的一个任务是绘图.第8章和第9章会介绍利用矢量和位图绘图.第13章将介绍图形库OpenGL(Open Graphics Library)和一些3D(3 Dimension,三维)基础,以及如何创建复杂的绘图系统.在本节,你将学习如何绘制简单的形状和线条,以及如何创建颜色去填充它们. 3.4.1 rect().ellipse()和line()方法 有3个最简单的绘图方法rect().

编程-windows程序设计中MM_ANISOTROPIC使用问题

问题描述 windows程序设计中MM_ANISOTROPIC使用问题 SetWindowExtEx, 用于设置逻辑坐标范围. SetViewPortExtEx, 用于设置设备坐标范围. 那么,如果存在以下代码: SetMapMode(hdc,MM_ANISOTROPIC); SetWindowExtEx(hdc,200,200,NULL);//将窗口的逻辑坐标X轴0 到200,Y轴设置为0 到200 //将视口原点设置为客户区的中心点上 SetViewportOrgEx(hdc,rectCli

《Windows 程序设计(第3版)》——导读

前言 许多人在刚开始接触Windows编程时,或从VB开始,或从MFC开始,这使得大家虽然写出了程序,但自己都不知道程序是如何运行的,从而造成写程序"容易"修改难.设计程序"容易"维护难的状况.本书是为Windows程序设计入门的初学者和想从根本上提高自己编程水平的爱好者编写的,试图为他们提供一条由入门到深入.由简单到复杂的编程设计之路. API函数是Windows系统提供给应用程序的编程接口,任何用户应用程序必须运行在API函数之上.直接使用API编程是了解操作系

Windows映射模式及相关问题的解决

Windows应用程序绘制图形时使用的是一种逻辑单位,每个逻辑单位的大小由映射模式决定, 这个逻辑单位既可以与设备单位(屏幕或打印机上的一个像素点)相同,也可以是一种物理单 位(如毫米),还可以是用户自定义的一种单位.在Windows应用程序中,只要与输出有关系,都 要使用映射模式.本文的目的是帮助读者了解映射模式的一些基本知识,并对在使用中经常 出现的一些问题提出解决方案. 一.映射模式基本知识 当Windows应用程序在其客户区绘制图形时,必须给出在客户区的位置,其位置用x和y 两个坐标表示

windows映射模式

1.什么是映射模式: 当Windows应用程序在其客户区绘制图形时,必须给出在客户区的位置,其位置用x和y 两个坐标表示,x表示横坐标,y表示纵坐标.在所有的GDI绘制函数中,这些坐标使用的是一 种"逻辑单位".当GDI函数将输出送到某个物理设备上时,Windows将逻辑坐标 转换成设备坐标(如屏幕或打印机的像素点).逻辑坐标和设备坐标的转换是由映射模式决 定的.   2.windows中为什么要用到映射模式机制? 映射模式的使用可以实现图形绘制的设备无关性.比如在默认MM_TEXT模

MFC绘图基础 .

from:http://blog.csdn.net/leolee82/article/details/6992590 先认识一下MFC中的一些和绘图有关的结构体和类 1.点 (1)点结构POINT点数据结构POINT用来表示一点的x.y坐标: typedef struct tagPOINT { LONG x; LONG y; } POINT; (2)点类CPoint 点类CPoint为一个没有基类的独立类,封装了POINT结构,有成员变量x和y 其构造函数有5种: CPoint( ); CPoi

学习方向-小弟最近学了【Windows程序设计(第五版)】但不知道学了有什么作用。

问题描述 小弟最近学了[Windows程序设计(第五版)]但不知道学了有什么作用. 小弟现在大二学生,物联网专业的专科.以后准备从事软件这个行业(具体什么我也不懂,反正即使IT啦),大一时学了C/C++的最最基本的语法,其他什么都不会,就像什么数据结构,算法,操作系统啊什么的都不会,现在都大二了,时间不多了,(专科都是两年半)想自己学点东西,但是不知道该学什么.就像那无头苍蝇,上几天听说了[Windows程序设计(第五版)] 就去图书馆借来看看了(暂时还没钱买,100多呢!),学的还行,但是不知