MFC中的GDI绘图(三)

MFC中GDI绘图 一.MFC中与GDI有关的类 为了支持GDI绘图,MFC提供了两种重要的类:设备环境DC(Device Context)类,用于设置绘图属性和绘制图形;绘图对象类,封装了各种GDI绘图对象,包括画笔、刷子、字体、位图、调色板和区域。 二.MFC中GDI绘图     GDI绘图包括以下步骤:获取设备环境,设置坐标映射,创建绘图工具,调用DC绘图函数绘图。 1、 阅读详情

 

2、设置坐标映射

   (1)Windows坐标系统

Windows坐标系分为逻辑坐标系和设备坐标系两种,GDI支持这两种坐标系。一般而言,

GDI的文本和图形输出函数使用逻辑坐标,而在客户区移动或按下鼠标的鼠标位置是采用设备坐标。

<1>逻辑坐标系是面向DC的坐标系,这种坐标不考虑具体的设备类型,在绘图时,Windows会根据当前设置的映射模式将逻辑坐标转换为设备坐标。

<2>设备坐标系是面向物理设备的坐标系,这种坐标以像素或设备所能表示的最小长度单位为单位,X轴方向向右,Y轴方向向下。设备坐标系的原点位置(0, 0)不限定在设备显示区域的左上角。

设备坐标系分为屏幕坐标系、窗口坐标系和客户区坐标系三种相互独立的坐标系。

l       屏幕坐标系以屏幕左上角为原点,一些与整个屏幕有关的函数均采用屏幕坐标,如GetCursorPos()、SetCursorPos()、CreateWindow()、MoveWindow()。弹出式菜单使用的也是屏幕坐标。

l       窗口坐标系以窗口左上角为坐标原点,它包括窗口标题栏、菜单栏和工具栏等范围。

l       客户区坐标系以窗口客户区左上角为原点,主要用于客户区的绘图输出和窗口消息的处理。鼠标消息的坐标参数使用客户区坐标,CDC类绘图成员函数使用与客户区坐标对应的逻辑坐标。

(2)坐标之间的相互转换

l       编程时,有时需要根据当前的具体情况进行三种设备坐标之间或与逻辑坐标的相互转换。

l       MFC提供了两个函数CDC::DPtoLP()和CDC:: LPtoDP()用于设备坐标与逻辑坐标之间的相互转换。

l       MFC提供了两个函数CWnd::ScreenToClient()和CWnd::ClientToScreen()用于屏幕坐标与客户区坐标的相互转换。

(3)映射模式

l       映射模式确定了在绘制图形时所依据的坐标系,它定义了逻辑单位的实际大小、坐标增长方向,所有映射模式的坐标原点均在设备输出区域(如客户区或打印区)的左上角。此外,对于某些映射模式,用户还可以自定义窗口的长度和宽度,设置视图区的物理范围。

l       Windows定义了8种映射模式,见下表。

l       映射模式使得程序员可不必考虑输出设备的具体设备坐标系,而在一个统一的逻辑坐标系中进行图形的绘制。

映射方法(Mapping Mode)

逻辑单位

坐标轴方向

MM_TEXT(默认方式)

1 pixel

X轴正方向朝右,Y轴正方向朝下

MM_LOMETRIC

0.1 mm

X轴正方向朝右,Y轴正方向朝上

MM_HIMETRIC

0.01 mm

X轴正方向朝右,Y轴正方向朝上

MM_LOENGLISH

0.01 inch

X轴正方向朝右,Y轴正方向朝上

MM_HIENGLISH

0.001 inch

X轴正方向朝右,Y轴正方向朝上

MM_TWIPS

1/1440 inch

X轴正方向朝右,Y轴正方向朝上

MM_ISOTROPIC

自定义(X=Y)

自定义

MM_ANISOTROPIC

自定义(X!=Y)

自定义

当绘制的图形需要随着窗口的大小改变而自动改变的时候,一般选择MM_ISOTROPIC和MM_ANISOTROPIC映射方式。它们的唯一区别就是前者的X轴和Y轴的逻辑单位的大小是相同的,单词“isotropic”就是各个方向相等的意思,此映射方式适合绘制圆或正方形。而实际应用中,常常给X轴和Y轴取不同的比例,这时候选择MM_ANISOTROPIC映射方式。单词“anisotropic”就是各个方向相异的意思。

(4)自定义映射模式

“窗口”和“视口”的概念:

窗口(Window):对应逻辑坐标系上程序员设定的区域

视口(Viewport):对应实际输出设备上程序员设定的区域

l       窗口原点是指逻辑窗口坐标系的原点在视口(设备)坐标系中的位置,视口原点是指设备实际输出区域的原点。

l       除了映射模式,窗口和视口也是决定一个点的逻辑坐标如何转换为设备坐标的一个因素。一个点的逻辑坐标按照如下式子转换为设备坐标:

            设备(视口)坐标 = 逻辑坐标 – 窗口原点坐标      + 视口原点坐标

//定义坐标映射方式

WINGDIAPI int   WINAPI SetMapMode(HDC, int);

此API函数在MFC中封装为CDC::virtual int SetMapMode(int nMapMode);

//定义逻辑窗口区域,单位为逻辑单位(Logical)

WINGDIAPI BOOL  WINAPI SetWindowExtEx (HDC, int, int, LPSIZE);

此API函数在MFC中封装为CDC::virtual CSize SetWindowExt(int cx, int cy);

//设置逻辑窗口的原点坐标,缺省原点为(0,0)。

WINGDIAPI BOOL  WINAPI SetWindowOrgEx(HDC, int, int, LPPOINT);

此API函数在MFC中封装为CDC::CPoint SetWindowOrg(int x, int y);

注意:SetWindowOrg(Ex) 只有在映射模式为MM_ANISOTROPIC或MM_ISOTROPIC时才有意义。

//定义视口的坐标轴方向及区域、定义域和值域,单位为像素(Pixel)

WINGDIAPI BOOL  WINAPI SetViewportExtEx(HDC, int, int, LPSIZE);

此API函数在MFC中封装为CDC::virtual CSize SetViewportExt(int cx, int cy);

注意:SetViewportExt(Ex) 只有在映射模式为MM_ANISOTROPIC或MM_ISOTROPIC时才有意义。

//设置视口的原点坐标,缺省原点为(0,0)。

WINGDIAPI BOOL  WINAPI SetViewportOrgEx(HDC, int, int, LPPOINT);

此API函数在MFC中封装为CDC:: virtual CPoint SetViewportOrg(int x, int y);

    参考:《GDI中的坐标映射问题》http://dev.youkuaiyun.com/article/12/12013.shtm

   

3、创建绘图工具并选入DC

   有了画布,要绘图我们必须有画笔画刷。在Windows中有HPEN、HBRUSH等GDI对象,MFC对GDI对象进行了很好的封装,提供了封装GDI对象的类,如CPen、CBrush、CFont、CBitmap和CPalette等,这些类都是GDI对象类CGdiObject的派生类。

   一般先创建画笔(刷),然后调用CDC::SelectObject函数将画笔(刷)选入设备环境最为当前绘图工具,绘图完毕恢复设备环境以前的画笔(刷)对象,最后调用CGdiObject::DeleteObject函数删除画笔(刷)对象。

   这里需要注意的是,CGdiObject::DeleteObject函数彻底删除底层GDI对象(CPen和CBrush类的基类)。在MFC中,当对象销毁时会调用对象的析构函数自动删除对象,一般不必调用CGdiObject::DeleteObject删除GDI对象,因为如果设备环境还在使用一个GDI对象时,将引起应用程序崩溃或出现难以理解的运行错误。

   (1)创建画笔

BOOL CPen::CreatePen( int nPenStyle, int nWidth, COLORREF cfColor );

nPenStyle  指定画笔的风格。其可能取值的列表,请参见CPen构造函数中的nPenStyle参数。

nWidth   指定画笔的宽度。如果这个值为0,则不管是什么映射模式,以设备单位表示的宽度总是一个像素。

crColor 包含画笔的一个RGB颜色,为COLORREF结构。 

此外,可通过CDC::SelectStockObject函数来调用系统预定义的库存笔对应的CGdiObject对象。

pOldPen = (Cpen*)pDC->SelectStockObject(BLACK_PEN);

(2)创建画刷

BOOL CBrush::CreateSolidBrush ( COLORREF crColor );

BOOL CBrush::CreateHatchBrush( int nIndex, COLORREF crColor );

参数: nIndex 指定画刷的阴影线风格。可取的值如下:

HS_HORIZONTAL   /* ==== */

HS_VERTICAL    /* ||||| */

HS_FDIAGONAL  /* ///// */

HS_BDIAGONAL  /* ///// */

HS_CROSS       /* +++++ */

HS_DIAGCROSS  /* xxxxx */

返回值:调用成功时返回非零值,否则为0。

此外,可通过CDC::SelectStockObject函数来调用系统预定义的库存画刷对应的CGdiObject对象。

pOldBrush = (CBrush*)pDC->SelectStockObject(BLACK_BRUSH);

(3)将画笔(刷)选入设备环境。

以下为MFC中默认映射方式下的GDI绘图的模块:

//先获取设备环境pDC

    CPen *pOldPen,newPen;

    CBrush *pOldBrush,newBrush1,newBrush2;

    //创建宽度为pixel的白色实线画笔

    newPen.CreatePen(PS_SOLID,1,RGB(0,0,0));

    //创建红色实线画刷

    newBrush1.CreateSolidBrush(RGB(255,0,0));

    //创建红色实线度的向下(从右到左)影线的阴影画刷

    newBrush2.CreateHatchBrush(HS_BDIAGONAL,RGB(255,0,0));

    //将newPen画笔和newBrush1画刷对象选入设备环境

    pOldPen = pDC->SelectObject(&newPen);

    pOldBrush = pDC->SelectObject(&newBrush1);

    //调用DC绘图函数绘图

    //……

    //绘图完毕,恢复原来画笔、画刷

    pDC->SelectObject(pOldPen);

pDC->SelectObject(pOldBrush);

//删除创建的画笔、画刷

// newPen.DeleteObject();

// newBrush1.DeleteObject();

// newBrush2.DeleteObject();

  (4)当绘制文本Text时,一般可以通过调用CDC::SetBkColor函数来设置背景颜色,调用CDC::SetTextColor函数来设置文字颜色,调用CDC::SetTextAlign函数设置文本对齐标记。

4、调用DC绘图函数绘图

GDI为提供了绘制基本图形的成员函数,在MFC中这些函数封装在CDC类中。

注意:绘图函数使用的坐标都是逻辑坐标。

常用CDC绘图函数

函数

功能

线输出函数

GetCurrentPosition

获取笔的当前位置(以逻辑坐标表示)

MoveTo

移动当前位置

LineTo

从当前位置到一点画直线,但不包括那个点

Arc

画一段椭圆弧

ArcTo

画一段椭圆弧。除了更新当前位置以外,这个函数与Arc类似

PolyPolyline

画多组相连线段。这个函数不使用也不更新当前位置

PolylineTo

画一条或多条直线,并把当前位置移到最后一条直线的终点

PolyBezier

画一条或多条Bezier样条。不使用也不更新当前位置

PolyBezierTo

画一条或多条Bezier样条,并把当前位置移到最后一条Bezier样条的终点

 

 

椭圆和多边形函数

Chord

绘制椭圆弧(椭圆和一条线段相交围成的闭合图形)

DrawFocusRect

绘制用于表示焦点的风格的矩形

Ellipse

绘制椭圆

Pie

绘制饼形图

Polygon

绘制多边形,包含由线段连接的一个或多个点(顶点)

PolyPolygon

创建使用当前多边形填充模式的两个或多个多边形,多边形可以相互分开或叠加

Polyline

绘制多边形,包含连接指定点的一组线段

Rectangle

使用当前笔绘制矩形,用当前画刷填充

RoundRect

使用当前笔绘制圆角矩形,用当前画刷填充

位图函数

BitBlt

从指定设备上下文拷贝位图

StretchBlt

把位图由源矩形和设备移动到目标矩形,必要时拉伸或压缩位图以适合目标矩形的维数

GetPixel

获取指定点像素的RGB颜色值

SetPixel

设置指定点像素为最接近指定色的近似值

文本函数

TextOut

用当前选取字体在指定位置写字符串

ExtTextOut

用当前选取字体在矩形区域写字符串

TabbedTextOut

在指定位置写字符串,制表符扩展为制表符停止位置数组中指定值

DrawText

在指定矩形内绘制格式化文本

-------------------详情参考MSDN、MFC类库详解-----------------

 --------------------To be continued------------------

深入分析MFC之GDI原理透析 为什么会使用GDI呢? 首先要理解一般显示器,是将要显示的内容存放在显存中,framebuffer就是用来存储显示的数据,由DMA自动读取数据将其显示在窗口中,而这里显示的只是一个个的像素点。通常是先显示一行的像素点,发出水平同步信号后,再显示下一行,当整个一屏幕的数据显示完全后,才会发出垂直同步信号,发出下一帧数据。注意这里。。。 MFC如何使用GDI? 首先对于GDI而言,他并不是将图像直接显示在设备上,而是将显示的数据首先绘制在一个设备描述表DC中,这里面存储了显示图像的描述字段,包括物理设备和各种状 阅读详情

相关推荐

【MFC系列-第20天】CDC绘图类成员介绍

20.1 三大坐标系:屏幕、客户区和非客户区 20.2 三大派生类: a)CPaintDC(客户区标准绘图),内部封装函数是:BeginPaint和EndPaint b)CClientDC(客户区非标准绘图),内部是:::GetDC和ReleaseDC (CWnd::GetDC的功能有写重复)和ReleaseDC CDC* pDC = this->GetDC(); // CWnd::GetDC(非静态) pDC->Ellipse(CRect(point.x-10,point.y-5,poin

业精于勤,荒于嬉 557

深入解析MFC核心架构:消息映射、文档视图与现代化集成实战

消息映射机制是Windows GUI开发中处理用户交互的核心原理,它将窗口消息与对象成员函数绑定,实现了从过程式编程到面向对象的事件驱动模型转变。这一设计不仅提升了代码的组织性和类型安全性,也为后续Qt等框架的信号槽机制提供了思想基础。在桌面应用开发中,文档/视图架构通过分离数据模型与显示逻辑,有效管理复杂应用状态,其序列化机制为数据持久化提供了标准化方案。理解这些底层技术,对于维护遗留系统、优化界面性能(如双缓冲绘图、虚拟列表控件)以及解决64/32位互操作等工程难题至关重要。本文以MFC为例,探讨了如何

weixin_34161064的博客 306

非线性几何变换与MFC应用详解

MFC(Microsoft Foundation Classes)是微软公司提供的一套C++类库,旨在简化Windows应用程序的开发。MFC封装了Windows API(应用程序编程接口),使得开发者能够在更高级别上编写程序,而不必深入了解底层的API细节。MFC提供了一系列的类,涵盖应用程序框架、图形设备接口(GDI)、数据库访问、网络通信等多个方面。在图像处理中,MFC主要用作应用程序的框架,用来创建窗口、处理消息循环、响应用户输入等。

weixin_42576410的博客 954

MFC-CDC

CDC CObject  └CDC CDC类定义的是设备上下文对象的类。 CDC对象提供处理显示器或打印机等设备上下文的成员函数,以及处理与窗口客户区对应的显示上下文的成员。 通过CDC对象的成员函数进行所有的绘图。 类对设备上

在迷失中逐渐找到自我 8593

深入理解MFC GDI绘图技术

本文还有配套的精品资源,点击获取 简介:MFC是用于简化Windows应用开发的C++库,而GDI提供了与硬件无关的图形绘制功能。本简介介绍了使用MFC中的GDI进行绘图的关键技术点,包括设备上下文、绘图对象、绘图函数、颜色管理、坐标系统、绘图状态、图形模式、图形变换和高级绘图技术等,旨在帮助开发者掌握如何利用这些技术点创建丰富多样的用户界面和图形内容。 1. MFC...

weixin_34598113的博客 1416

深入探索MFC与GDI在绘图工具中的应用

GDI(Graphics Device Interface)提供了一种软件层,使得应用程序可以在不同的输出设备上进行图形绘制,例如显示器、打印机等。GDI管理图形和字体的输出,使得程序员无需直接处理硬件细节。MFC(Microsoft Foundation Classes)是微软公司提供的一套C++类库,它封装了Windows API,简化了Windows应用程序的开发过程。一个典型的MFC应用程序由以下几个主要部分组成:应用程序类、文档模板、文档类、视图类和框架窗口类。

weixin_42573757的博客 962

CDC类详细说明

CDCCObject └CDCCDC类定义的是设备上下文对象的类。CDC对象提供处理显示器或打印机等设备上下文的成员函数,以及处理与窗口客户区对应的显示上下文的成员。通过CDC对象的成员函数进行所有的绘图。类对设备上下文操作提供了成员函数,处理绘图工具。安全型图形设备接口(G

无幻 3万+

MFC GDI多线程绘图实操课程

MFC(Microsoft Foundation Classes)是微软为简化Windows编程而提供的一个C++类库。它封装了大量Windows API函数,提供了面向对象的编程接口,使得程序员能够更加高效地开发Windows应用程序。GDI(Graphics Device Interface)是Windows中的图形设备接口,提供了图形输出的编程接口。它是Windows的核心组件之一,主要负责将图形设备的操作抽象化,使得程序员可以在不同的输出设备上实现一致的图形输出效果。

weixin_36304957的博客 1108

SelectStockObject与SelectObject

函数原型: virtual CGdiObject* SelectStockObject( int nIndex ); 其作用是选择系统预定义的GDI对象(stock -库存)。由于是系统定义的公用函数,所以用完以后也不用 手动删除。 而SelectObject则是选择你自己自定义的的GDI对象,用完之后要DelectObject();

mimixiao345的专栏 1797

实现飞书机器人推送消息到指定群组或者用户

飞书是一个集成了聊天、协作和办公功能的企业级平台,广泛应用于企业内部沟通和协作。飞书机器人(Feishu Bot)是一种强大的工具,允许开发者通过编程接口与飞书进行互动,从而实现自动化消息推送和任务管理。本文将详细介绍如何通过飞书机器人推送消息给指定的人或者群组,帮助您快速上手。

qq_41898196的博客 5867

用Arduino和FS-i6X遥控器,从零开始打造你的第一只仿生扑翼蝴蝶(附完整代码解析)

本文详细介绍了如何利用Arduino和FS-i6X遥控器从零开始制作仿生扑翼蝴蝶,包括硬件准备、电路连接、代码解析和调试技巧。通过完整的代码示例和参数说明,帮助读者快速掌握仿生机器人的制作要点,实现蝴蝶的自然飞行效果。

weixin_28727975的博客 309

MFC中常用类,宏,函数介绍

1.VC常用类 CRect:用来表示矩形的类,拥有四个成员变量:top left bottom right。分别表是左上角和右下角的坐标。可以通过以下的方法构造:   CRect( int l, int t, int r, int b ); 指明四个坐标 CRect( const RECT&amp; srcRect ); 由RECT结构构造 CRect( LPCRECT...

SmallBox00的博客 224

手把手教你搭建基于Springboot+Vue的酒店管理系统

友友们,又是好久没更新了,马上元旦了,要迈入2025蛇年了,提前祝大家蛇年快乐,学有所成,本文博主将带领大家使用Springboot和Vue搭建一个酒店管理系统,受限于本文篇幅内容,本文罗列仅有部分简单示例内容,主要包括前后端示例源码。通过本文,你将大致掌握如何快速搭建一个现代化的Web应用。如果您想学习完整开发方案,包括项目源码+数据库文件+全套环境资源+代码部署视频教程+开发文档】获取学习资源,支持远程安装调试:一、项目背景随着互联网技术的不断发展,酒店行业对信息化的需求越来越高。

暴力码农的博客 1323

37_MFC自绘UI你离不开GDI绘图

GDI (Graphics Device Interface)是图形设备接口的英文缩写,处理Windows程序的图形和图像输出。程序员不需要关心硬件设备及设备驱动,就可以将应用程序的输出转换为硬件设备上的输出,实现应用程序与硬件设备的隔离,大大简化程序开发工作。在Windows操作系统中,图形界面应用程序通常离不开GDI,利用GDI所提供的众多函数可以方便地在屏幕、打印机以及其他输出设备上实现输出文本、图形等操作。

成长需要沉淀。 1855

LabVIEW+数据库应用系列保姆级教程,第二篇增删查改

2021-7-2 先挖好坑

wwplh5520370的博客 7364

Mplus—交叉滞后面板模型(Cross-Lagged Panel Model, CLPM)

本文介绍交叉滞后模型相关知识,以及显变量模型与潜变量模型在Mplus中的语法。

m0_54401011的博客 1万+

第二章:MFC绘图基础

基于MFC三维图形开发 提纲: 01.MFC上机操作步骤 02.MFC绘图方法 03.设备上下文的调用与释放 04.双缓冲机制 01.MFC上机操作步骤 以后在学习中会重点操作view类: 最常用到的就是里面的OnDraw()函数,以后对图形的操作就是在里面进行: 02.MFC绘图方法 在微软基类库MFC中,CDC类是定义设备上下文对象的基类,封装了绘图所需的所有函数。当输出文字或图形时,就需要调用CDC类的成员函数,这些成员函数具备绘制和打印图形的功能。 (CDC就相当于画布) 1.CDC类 其

Yee1117的博客 1万+

【毫米波混合波束成形】第3章 深度展开网络:将迭代优化嵌入计算图

相位提取算子 $P_\phi: \mathbb{C}^N \to \mathbb{C}^N$ 定义为逐元素相位归一化 $P_\phi(z) = \exp(j \cdot \angle z)$。该算子在复数域非全纯(Non-holomorphic),标准反向传播需扩展至Wirtinger微积分框架。对于复数变量 $z = x + jy$,Wirtinger导数定义:相位提取算子的Jacobian矩阵在极坐标下具有稀疏结构。

VectorShift的博客 407

MFC中的GDI绘图

一.关于GDI的基本概念什么是GDI         Windows绘图的实质就是利用Windows提供的图形设备接口GDI(Graphics Device Interface)将图形绘制在显示器上。    在Windows操作系统中,动态链接库C:/WINDOWS/system32/gdi32.dll(GDI Client DLL)中定义了GDI函数,实现与设备无关的包括屏幕上输出像素、在打印机上输出硬拷贝以及绘制Windows用户界面功能。在Visual C++6.0中的头文件C:/Program Fi

RNAMatrix的专栏 4118

计算机视觉(角点检测)- 1 - Harris角点检测

计算机视觉(角点检测)-1.1 Harris角点检测学习前言 学习前言   今天更新一下计算机视觉的东西吧,哈哈哈o( ̄︶ ̄)o   关于角点检测呢,就是检测图像中角点的算法,常见的有四种常见的算法:Moravec角点检测算法、 Harris角点检测算法、Shi-Tomasi 算法、FAST角点检测算法,不过常用的就两种吧——Harris角点检测算法、Shi-Tomasi 算法(反正我基本上就只用到这两种,先着重介绍前面两种,后面再花世界介绍吧)(~ ̄▽ ̄)~ ...

qq_40374812的博客 1万+

在 SAP S/4HANA Cloud Public Edition 中掌控 ABAP 生命周期管理:One-Off、Multi-Off 与 Scalable Delivery 的落地方法论

本文系统梳理了SAP S/4HANA Cloud Public Edition中ABAP扩展开发的三种生命周期管理模式:One-Off适用于企业内部扩展,通过Import Collection在三系统间流转;Multi-Off面向少量客户交付,基于gCTS和Git实现不连接系统间的传输;Scalable Delivery则将扩展产品化为add-on,支持规模化分发。文章结合RAP、OData等实际开发场景,对比分析了各模式的特点与适用边界,为国内团队提供了符合Public Cloud要求的开发与交付实践建议

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1495

MFC GDI 绘图模式、映射模式、画笔、笔、字体

本文详细介绍了GDi绘图模式,映射模式及GDI接口类CBrush、CFont、CBrush。

billliu66的博客 1655

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

MFC GDI绘图基础

一.关于GDI的基本概念 什么是GDI? Windows绘图的实质就是利用Windows提供的图形设备接口GDI(Graphics Device Interface)将图形绘制在显示器上。 在Windows操作系统中,动态链接库C:/WINDOWS/system32/gdi32.dll(GDI Client DLL)中定义了GDI函数,实现与设备无关的包括屏幕上输出像素、在打印机上输出硬拷贝...

u011555996的博客 718

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

MFC GDI绘图

一.关于GDI的基本概念(源于http://blog.youkuaiyun.com/phunxm/article/details/5083119) 什么是GDI? Windows绘图的实质就是利用Windows提供的图形设备接口GDI(Graphics Device Interface)将图形绘制在显示器上。 在Windows操作系统中,动态链接库C:/WINDOWS/system32/gdi32.dl

1106

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

MFC中的GDI/GDI+和双缓冲绘图

1、GDI概述   GDI在全称是Graphics Device Interface,即图形设备接口。是图形显示与实际物理设备之间的桥梁。         GDI使得用户无需关心具体设备的细节,而只需在一个虚拟的环境(即逻辑设备)中进行操作。它的桥梁作用体现在:      (1)用户通过调用GDI函数将逻辑空间的操作转化为具体针对设备驱动程序的调用。      为实现图形设

Invoker's Tower 8084

【MFC】GDI+绘图

MFC使用OpenCV在文档窗口中显示图像 【尊重原创,转载请注明出处】http://blog.youkuaiyun.com/guyuealian/article/details/72550659 在VS2010中新建一个MFC单文档或多文档的应用程序,结合OpenCV强大的图像处理工具,我们可以在MFC的“File/open”直接打开并显示图像,具体方法如下: (1)首先新建一个单文档或多文档的应用程序,项目名:Demo1 (2)在“Demo1Doc.h ”头文件中包含“#include &l...

大糊涂虫 1859
上一篇: MFC中的GDI绘图(四)
下一篇: MFC中的GDI绘图(二)
fairy_study
博客等级 码龄18年 29粉丝 35原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值