MFC基本绘图函数(1)

xiaoxiao2021-02-28  73

简单数据类型

Windows POINT,RECT,SIZE结构体封装:

typedef struct tagPOINT { LONG x; LONG y; }POINT,*PPOINT; typedef struct tagSIZE { LONG cx; LONG cy; }SIZE,*PSIZE; typedef struct _RECT { LONG left,right; LONG top,bottom; }RECT,*PRECT;

(1)CPoint 类

CPoint(int initX,int initY); CPoint(POINT initpt);

(2)CSize类

CSize(int initCX,int init CY); CSize(SIZE initSize);

(3)CRect类

CRect(int l,int t,int r,int b); CRect(const RECT& srcRect);//srcRect是一个RECT结构 CRect(LPCRECT lpSrcRect);//lpSrcRect是一个RECT结构指针 CRect(POINT point,SIZE size);//point是左上角 CRect(POINT topLeft,POINT bottomRight);

映射模式

设置窗口原点函数

CPoint SetWindowOrg(int x,int y); CPoint SetWindowOrg(POINT point);

设置视区原点函数

virtual CPoint SetViewportOrg(int x,int y); virtual CPoint SetViewportOrg(POINT point);

理解“窗口”、“视区” 根据“窗口”,“视区”的大小可以确定x方向和y 方向的比例 SetWindowExt(100,100); SetViewportExt(200,200); 100X100逻辑坐标的正方形—>200X200像素的正方形

设置一个原点位于中心的二维坐标:

CRect rect;//声明对象 GetClientRect(&rect);//获得客户区大小?? //设置映射模式 pDC->SetMapMode(MM_ANISOTROPIC); //设置窗口 pDC->SetWindowExt(rect.Width(),rect.Hieght()); //设置视区(共同确定映射比例因子) //负号改变正方向 pDC->SetViewportExt(rect.Width(),-rect.Height()); //设置中心为原点 pDC->SetViewportOrg(rect.Width()/2,rect.Height()/2);
转载请注明原文地址: https://www.6miu.com/read-83402.html

最新回复(0)