GDI+学习笔记1- 概述

2023-11-04

(一) 图形概述(Windows 窗体)

GDI+ 是构成 Microsoft Windows 操作系统子系统的应用程序编程接口 (API)。GDI+ 负责在屏幕和打印机上显示信息。 顾名思义,GDI+ 是 GDI 的后续,后者是包含在 Windows 早期版本中的图形设备接口。 GDI+ API 通过一组部署为托管代码的类公开。 这组类被称为 GDI+ 的托管类接口。 以下命名空间构成托管类接口:

System.Drawing:提供对 GDI+ 基本图形功能。
System.Drawing.Drawing2D:提供高级的二维和矢量图形功能。
System.Drawing.Imaging:提供高级 GDI+ 图像处理功能。
System.Drawing.Text:提供高级 GDI+ 的版式功能。
System.Drawing.Printing:提供与打印相关的服务。

TextRenderer:提供 GDI 文本绘制和测量功能。

使用图形设备接口(如 GDI+), 可以在屏幕或打印机上显示信息,而无需顾虑特定显示设备的详细信息。 程序员调用由 GDI+ 类提供的方法。这些方法,反过来,对特定的设备驱动程序进行适当的调用。 GDI+ 使应用程序与图形硬件隔离。正是这种隔离使程序员能够创建独立于设备的应用程序。

(二) 图形服务的三个类别

Windows 窗体中提供的图形分为下面的三大类:
1. 二维 (2-D) 矢量图形
2. 图像处理
3. 版式


1. 二维矢量图形
二维矢量图形为基元(例如,直线、曲线和图形);它们由坐标系统上的多组点指定。 例如,直线可通过它的两个端点来指定,而矩形可通过确定其左上角位置的点并给出其宽度和高度的一对数字来指定。 简单路径可由通过直线连接的点的数组来指定。 贝塞尔样条曲线是由四个控制点指定的复杂曲线。

GDI+ 提供了用于存储基元自身信息的类和结构、用于存储基元绘制方式信息的类以及用于实际绘制的类。 例如,Rectangle 结构存储矩形的位置和尺寸;Pen 类存储有关线条颜色、线条粗细和线型的信息;而 Graphics 类具有用于绘制直线、矩形、路径和其他图形的方法。 还有几种 Brush 类,它们存储有关如何使用颜色或图案来填充封闭图形和路径的信息。

您可以在元文件中记录表示图形命令序列的矢量图像。 GDI+ 提供了用于记录、显示和保存元文件的 Metafile 类。 使用 MetafileHeader 和 MetaHeader 类可以检查存储在元文件头中的数据。

2. 图像处理
某些种类的图片很难或者根本无法用矢量图形技术来显示。 例如,工具栏按钮上的图片和显示为图标的图片就难以指定为直线和曲线的集合。 拥挤的棒球运动场的高分辨率数字照片会更难以使用矢量技术来制作。 此类型的图像将以位图的形式存储,位图是由表示屏幕上各个点的颜色的数字阵列。 GDI+ 提供了用于显示、操作和保存位图的 Bitmap 类。

3. 版式
版式是指以各种字体、大小和样式显示文本。 GDI+ 提供了对这种复杂任务的广泛支持。 GDI+ 中的一个新功能是子像素抗锯齿,它可以使文本在 LCD 屏幕上呈现时显得更平滑。
另外,Windows 窗体还提供了在其 TextRenderer 类中使用 GDI 功能绘制文本的选项。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GDI+学习笔记1- 概述 的相关文章

  • 计算机图形学(三维观察投影线、视图变换、投影变换)

    一 三维观察流水线 概念 xff1a 将建立的三维场景显示在二维视口的过程称为三维观察流水线 在三维观察流水线中 xff0c 也就是在将三维场景显示在二维视口的过程中 xff0c 需要在不同坐标系下进行不同的操作 xff0c 这些坐标系包括
  • 计算机图形学期刊影响因子,计算机图形学 | CCF推荐期刊专刊信息2条

    原标题 xff1a 计算机图形学 CCF推荐期刊专刊信息2条 图形学与多媒体 Computers amp Graphics Call for papers Shape Modelling International SMI 2019 全文截
  • MFC计算机图形学(1)

    这学期上了计算机图形学 xff0c 用MFC来绘制简单的图形 下面就简单介绍一下用cv 43 43 来绘制图形 VC 43 43 安装 VC 43 43 我基本不用的 xff0c 平时写C C 43 43 的代码都用Code Blocks
  • MFC计算机图形学(3)

    之前我们已经可以画出直线和曲线了 但是算法虽容易理解 xff0c 但是复杂度高 xff0c 今天就介绍比较流行的DDA画线法 xff0c 还有 xff0c 对鼠标进行事件有所响应 xff0c 即 xff0c 在画板上 xff0c 鼠标左键单
  • 图形图像学习随笔:计算机图形学的一些基本概念

    本文内容摘抄于 计算机图形学的概念 一 计算机图形学的范畴 1 图形主要分为两类 一类是基于线条信息表示的 如工程图 等高线地形图 曲面的线框图等 另一类是明暗图 也就是通常所说的真实感图形 2 计算机图形学利用计算机建立图形所描述的场景和
  • 左手坐标系与右手坐标系(转)

    转自 http www cnblogs com mythou p 3327046 html 1 空间直角坐标系 下面摘录一段百科的解析 这些都是数学基础 过空间定点O作三条互相垂直的数轴 它们都以O为原点 具有相同的单位长度 这三条数轴分别
  • CDUA 图形学 Texture Reference 实验

    下面是对Texture Reference的实验 代码改自 CUDA C PROGRAMMING GUIDE PG 02829 001 v10 0 October 2018 p54 因为这里比较贴近计算机图形学 故移到图形学中去 版权所有
  • OPENGL学习(四)GLUT三维图像绘制

    文章目录 1 绘制一个旋转的立方体 普通视角变换 2 绘制一个旋转的立方体 透视视角变化 3 画两个旋转方向不同的立方体 对于三维目标来说 最主要的就是有坐标变换问题 也就是说有视角问题 1 绘制一个旋转的立方体 普通视角变换 下面这个程序
  • 路径追踪原理及实现

    路径追踪 Path Tracing 原理及实现 一 渲染方程 L o p w o
  • games101笔记 Shading

    什么是shading 不同的物体应用不同的材质的过程 就是计算出物体具体应该在的地方 物体的光照 物体本身应该有的材质 Blinn Phong Reflectance Model Blinn Phong反射模型 Blinn Phong Re
  • 基于QT绘制可交互性的Bezier曲线

    前言 因为项目需要 要做一款类似AI里面的曲率工具出来 其实也类似Photoshop里面的钢笔工具 所以写了个demo来演练一番 之前是不懂Bezier的 但是网上找到的源码都是固定点的 但无论是钢笔工具还是曲率工具都是要能与鼠标键盘交互的
  • 【OpenGL】OpenGL入门之纹理(Texture)

    目录 纹理 纹理环绕方式 纹理过滤 多级渐远纹理 Mipmap 加载与创建纹理 stb image h 生成纹理 应用纹理 纹理单元 参考 纹理 在此之前 我们已经可以为每个顶点添加颜色来增加图形的细节 从而创建出有趣的图像 但是 如果想让
  • 计算机图形学基础:双向反射分布函数 BRDF

    文章目录 光照 照明 Illumination 预备知识 球面坐标 Spherical Coordinate 立体角 Solid Angle 投影面积 Foreshortened Area 光能 Radiant Energy 光通量 Rad
  • GDI+学习笔记1- 概述

    一 图形概述 Windows 窗体 GDI 是构成 Microsoft Windows 操作系统子系统的应用程序编程接口 API GDI 负责在屏幕和打印机上显示信息 顾名思义 GDI 是 GDI 的后续 后者是包含在 Windows 早期
  • OBJ格式简单用法

    参考 https www cnblogs com hont p 5239725 html https zhuanlan zhihu com p 342244212 http zwqxin com archives opengl obj mo
  • 3D茶壶绘制_2021秋季《计算机图形学》_基于《计算机图形学(第四版)》D.H.&M.P.B.&W.R.C.

    一 实验目的 绘制3D茶壶 形状为传统的紫砂茶壶 用光照模型着色 用键盘实现旋转 二 实验环境 Visual Studio 2019 Windows 10 三 算法分析与设计 四 实验结果 旋转 五 附录 include
  • 62.[GIS基础]笛卡尔坐标系

    文章目录 笛卡尔坐标系 多坐标系 坐标系的嵌套 坐标变换 坐标系转换 转载请注明原始链接 http blog csdn net a464057216 article details 54578069 后续此博客不再更新 欢迎大家搜索关注微信
  • 判断一个点是否在圆内(三点确定一个圆)

    三角形的外接圆圆心是任意两边的垂直平分线的交点 三角形外接圆圆心叫外心
  • GDI+学习笔记四-双缓冲图形类

    双缓冲图形 问题 当在窗体中绘制较为复杂的图形对象时 常会出现闪烁的问题 NET Framework解决方案 提供了双缓冲功能 原理是 当启用双缓冲时 所有绘制操作首先呈现到内存缓冲区 而不是屏幕上的绘图图面 所有绘制操作完成后 内存缓冲区
  • Game101现代计算机图形学入门学习笔记(七)

    光线追踪 一 光线追踪 1 为什么要使用光线追踪 二 基础光线追踪算法 1 光线 2 光线投射 1 着色过程 3 递归光线追踪 Whitted Style 1 基本过程 2 光线 表面相交 1 光线方程 3 轴对称包围盒 AABB 1 Un

随机推荐

  • 小美的数组操作2---牛客周赛 Round 11

    注意给a 0 赋一个最小值 include
  • 1004 成绩排名 (20 分)

    1004 成绩排名 20 分 读入 n gt 0 名学生的姓名 学号 成绩 分别输出成绩最高和成绩最低学生的姓名和学号 输入格式 每个测试输入包含 1 个测试用例 格式为 第 1 行 正整数 n 第 2 行 第 1 个学生的姓名 学号 成绩
  • WEB应用防火墙安全技术要求与测试评价方法

    信息安全技术 WEB应用防火墙安全技术要求与测试评价方法 范围 本标准规定了WEB应用防火墙的安全功能要求 自身安全保护要求 性能要求和安全保证要求 并提供了相应的测试评价方法 本标准适用于WEB应用防火墙的设计 生产 检测及采购 规范性引
  • Android自定义View-Path的详细介绍

    一 构造方法 1 Path path new Path 空的构造方法 2 Path path new Path Path src 创建一个新的路径 并从src路径获取内容赋值给新的路径 二 Path常用的一些方法 分类 Path方法 备注
  • Verilog学习之位拆分与运算设计

    文章目录 前言 一 题目描述 二 实现思路 1 题意分析 2 状态分析 三 代码展示 总结 前言 今天我们做的是第五道题 位拆分与运算 这道题比较简单 我们只需要用到状态机的思想和 运算以及数据锁存的问题 接下来就让我们看看如何写这道题 位
  • Kibana server is not ready yet

    Kibana server is not ready yet 这个错误通常是由于Kibana服务无法连接到Elasticsearch引起的 这可能是由于以下原因之一 1 Elasticsearch没有启动 请确保Elasticsearch正
  • vivado时序分析之set_input_delay(三)

    本篇用vivado timing constraints wizard来进行set input delay的约束 set input delay界面如图一所示 包括interface clock synchronous alignment
  • Python第三方库在命令行使用pip安装完成之后只能使用idle,而不能pycharm的解决方法

    先使用pip install requests 或者其他模块也可以 然后如图 就可以看到这些模块被安装的位置 看到安装的一些模块都在这里 直接把site packages整个文件夹Ctrl C一下 然后找到Pycharm的项目文件夹 就是你
  • uniapp各个页面监听

    当前页面在退出时 uni emit zxpg zxpg res tips uni navigateBack 返回上一个页面 在上一个页面的onShow uni on zxpg data gt console log 接收事件test成功 d
  • Spring Boot 创建RESTful Web Service

    1 介绍 本篇将使用Spring Boot创建一个简单restful风格web服务 接受HTTP GET请求 http localhost 8080 greeting 响应体 respond 为一个JSON字符串 id 1 content
  • 解决网页不能复制

    按f12 console点圆圈斜杠那个图标 输入 document body contentEditable true
  • Spring框架概述 --- AOP, 拦截器, 过滤器

    Spring框架概述 AOP 拦截器 过滤器 AOP概念 过滤器 Filter 拦截器 Interceptor Spring AOP AOP Example Log Aspect 执行顺序是 过滤器 gt 拦截器 gt AOP AOP概念
  • NLP学习(四)规则分词-正向、逆向和双向最大匹配算法的中文分词-python3实现

    规则分词 规则分词是一种机械分词方法 主要通过维护词典 在切分语句时将语句的每个字符串和词表中的词逐一匹配找到则切分 找不到则不切分 具体包括正向最大匹配法 逆向最大匹配法和双向最大匹配法 正向最大匹配 算法描述 从左向右取待切分汉语句的m
  • 小程序包体积压缩优化,下降500k起步

    由于公司小程序包体积过大 已经达到1 9m了 微信定义小程序单个代码包 主包 分包 上限为2m 所以小程序该减肥了 如果你按我的步骤都做了 体积没有减少 ok 来打我 文章目录 第一步 最直接的方式 图片优化 第二步 优化体积主要方法 分包
  • VMware虚拟机安装Ubuntu教程

    目录 一 软件准备 二 安装VMware 三 安装Ubuntu系统 3 1 创建新的虚拟机 3 2 客户机操作系统安装 3 3 客户机操作系统选择 3 4 命名虚拟机和存储位置更改 3 5 处理器配置 3 6 虚拟机内存配置 3 7 网络和
  • React 状态提升 温度转换项目

    使用 create react app 快速构建 React 开发环境 create react app 是来自于 Facebook 通过该命令我们无需配置就能快速构建 React 开发环境 create react app 自动创建的项目
  • Jmagic的常用方法

    1 Jmagic的基本安装和使用 1 下载和安装文件 下载安装包 ImageMagick 6 8 0 4 Q16 windows 和jmagick win 6 3 9 Q8 默认安装在C Program Files ImageMagick
  • React Hooks 从认识到使用_hooks优缺点

    前言 Hook 是 React 16 8 的新增特性 它是完全可选的 并且100 向后兼容 它可以让你使用函数组件的方式 运用类组件以及 react 其他的一些特性 比如管理状态 生命周期钩子等 从概念上讲 React 组件一直更像是函数
  • java io系列15之 DataOutputStream(数据输出流)的认知、源码和示例

    本章介绍DataOutputStream 我们先对DataOutputStream有个大致认识 然后再深入学习它的源码 最后通过示例加深对它的了解 转载请注明出处 http www cnblogs com skywang12345 p io
  • GDI+学习笔记1- 概述

    一 图形概述 Windows 窗体 GDI 是构成 Microsoft Windows 操作系统子系统的应用程序编程接口 API GDI 负责在屏幕和打印机上显示信息 顾名思义 GDI 是 GDI 的后续 后者是包含在 Windows 早期