第5章,[标签 Win32] :GDI 的基本图形

专栏导航

上一篇:第5章,标签 Win32 :GDI 函数调用

回到目录

下一篇:第5章,标签 Win32 :GDI 的其他方面的分类

本节前言

对于本节所讲解的知识,有可能,你会需要时不时地参考本专栏的其它文章。真的遇到了需要参考之前的文章的知识点,请你自行查阅。

我呢,也会提到一部分的参考课节。但是呢,你不应该依赖于我的主动提及。最好呢,你自己能够多去了解和查看本专栏目录。

本节内容,来自于对佩措尔德原教材的大段抄录。

我们开始。

一. 本节内容

在屏幕上或者打印机上显示的图形类型可以分为几类,被称为 "基本图形"。

(一)线条和曲线

线条是任何矢量图形绘制系统的基础。GDI 支持直线、矩形、椭圆(包括特殊的椭圆,如圆形)、椭圆弧线(椭圆圆周上的部分曲线)和贝塞尔样条曲线,这些我都会在本章后面讨论。如果需要绘制一个不同类型的曲线,你可以把它绘制成折现(折现就是由一系列非常短的线条定义的曲线)。GDI 使用当前选入设备环境的画笔绘制线条。

(二)可被填充的封闭区域

当一系列的线条或者曲线构成一个封闭区域时,你可以使用当前 GDI 的画刷对象填充这个区域。这个画刷可以是纯色的,或者是使用某种填充模式(如一系列水平的、垂直的或者倾斜的图案),还可以是在水平或者垂直方向不停重复的位图图像。

(三)位图

位图是一个二维的伪数组,每一个元素都对应显示设备上的一个像素。位图是光栅图形的基础。位图通常用于在视频显示器或者打印机上显示复杂(通常是真实世界)的图像。位图也通常用于显示必须要快速绘制的小图像,例如图标、鼠标指针以及出现在应用程序工具栏里的按钮。GDI 支持两种类型的位图:旧式(现在仍然十分常用)的 "设备相关" 位图(它属于 GDI 对象)和新式(从 Windows 3.0 起)的 "设备无关" 位图(DIB)。DIB 可以存放在磁盘文件中。本章我们暂且不讨论位图,以后会有专门章节来讨论。

(四)文本

文本和几百年来的传统印刷术息息相关,而很多印刷工作者和其他评论者会把印刷术当成一种艺术而不是技术,所以相对于数学性来说,文本在计算机图形学中的处理更偏向于艺术性。正因为这个原因,文本通常是任何计算机图形系统中最复杂的部分,而且也是组重要的部分(因为阅读文本还是最首要的功能)。在所有 Windows 的数据结构中,用于定义 GDI 字体对象和获取字体信息的数据结构是最庞大的。GDI 从 Windows 3.1 开始支持 TrueType 字体,这种字体是以填充的轮廓线为基础的,某些 GDI 函数可以操控这些轮廓线。Windows 98 还继续支持旧式的给予位图的字体,因为它的兼容性较好,对内存需求也小。我们将在以后的某个章节中讨论字体。

专栏导航

上一篇:第5章,标签 Win32 :GDI 函数调用

回到目录

下一篇:第5章,标签 Win32 :GDI 的其他方面的分类

相关推荐
小欣加油21 分钟前
leetcode287寻找重复数
数据结构·c++·算法·leetcode
学会去珍惜27 分钟前
C语言简介
c语言·开发语言
思麟呀30 分钟前
C++11 核心特性(三):强类型枚举、static_assert 与 std::tuple
开发语言·c++
一拳一个呆瓜42 分钟前
【STL】C++程序的启动与终止
c++·stl
凡人叶枫1 小时前
Effective C++ 条款07:为多态基类声明 virtual 析构函数
linux·c语言·开发语言·c++
凡人叶枫1 小时前
Effective C++ 条款10:令 operator= 返回一个 reference to *this
java·linux·服务器·开发语言·c++·effective c++
王老师青少年编程1 小时前
2026年全国青少年信息素养大赛算法应用主题赛(C++赛项-复赛模拟卷6:文末附答案)
c++·答案·模拟卷·复赛·2026年·青少年信息素养大赛·算法应用主题赛
matlabgoodboy2 小时前
计算机java程序代写python代码编写c/c++代做qt设计php开发matlab
java·c语言·python
视觉小萌新2 小时前
C++利用libmicrohttpd制作交互网页端——C1
java·c++·交互
caimouse2 小时前
Reactos 第 5 章 进程与线程 — 5.11 线程本地存储 TLS
c语言·windows