zoukankan      html  css  js  c++  java
  • GDI+学习---1.初识GDI+

    ---恢复内容开始---

    GDI+:

      GDI+由一组C++类实现,是对于GDI的继承,GDI+不仅优化了大部分GDI性能而且提供了更多特性。允许应用程序开发者将信息显示在显示器或者打印机上,而无需考虑该显示设备的详细情况,GDI+与GDI一样,都具有设备无关性,使得应用程序和图形硬件隔离开来。

    GDI+的三个组成部分:

    1.二维矢量图形

      矢量图形由图元(比如线条、曲线和图形)组成。用户可以在图元文件中记录矢量图像(图形命令的序列)。GDI+提供了Metafile类,可用于记录、显示和保存图元文件。MetafileHeader和MetaHeader类允许您检查图元文件头中存储的数据。

    2.图像

      某些图片很难或者根本无法用矢量图形来显示,。这种类型的图像可存储为位图,即代表屏幕上单个点颜色的数字数组。

      GDI+提供了Image、Bitmap和Metafile类,可用于显示、操作和保存位图,支持BMP、GIF、JPEG、EXIF、PNG、TIFF、ICON、WMF、EMF共9种常见的图像格式。。它们支持众多的图像文件格式,还可以进行多种图像处理的操作。

    3.文字

      使用各种字体、字号和样式来显示文本。

    在MFC中使用GDI+

    1.引入头文件

      #include <GdiPlus.h>

            using namespace Gdiplus;

            #pragma comment(lib,"gdiplus.lib")

    2.全局变量设置

      在APP类中,添加成员变量ULONG_PTR m_ptrToken;此变量用于GDI+的控制

    3.初始化GDI+对象

      在App类初始化函数InitInstance()中添加:

            GdiplusStartupInput gsi;

            GdiplusStartup(&m_ptrToken,&gsi,NULL);

    4.关闭

      在ExitInstance函数中添加

      GdiplusShutdown(m_ptrToken);

    OnDraw函数使用GDI+来绘图:

    Graphics graphics(this->GetDC()->m_hDC);

    Pen pen(Color(255, 0, 0, 255));

    graphics.DrawLine(&pen, 0, 0, 100, 100);

  • 相关阅读:
    Linux下使用ps命令来查看Oracle相关的进程
    虚继承、虚基类
    C++/C小知识点(2)
    C++中的运行中动态类型识别RTTI
    什么应该放在头文件?何为外连接?
    Placement new、operator new、new operator 完全释疑
    二叉搜索树
    Linux C编程学习资料,学习过程
    独立对象(非附属对象)大小
    编程珠玑第一章、第二章
  • 原文地址:https://www.cnblogs.com/xslwm/p/9459483.html
Copyright © 2011-2022 走看看