值不值得学:先搞清楚它解决什么场景

这套资料的主题是用 C# 结合 GDI+ 从零开发一个交互式 CAD 绘图系统。它解决的是一类很具体的工程场景:当你需要开发带图形界面的绘图、测量、排版或工控可视化软件时,市面上的通用控件往往无法满足定制化的图元操作需求。这门课不是教你用现成 CAD 软件画图,而是带你拆解底层逻辑,搞懂怎么用代码实现鼠标拖拽绘制、坐标映射和图元管理。如果你日常工作涉及工业软件二次开发、上位机界面定制,或者想深入理解图形交互程序怎么写,这套体系课值得作为底层参考。但如果你只是想做普通的数据增删改查系统,这套内容的投入产出比可能不高。

适合什么基础与学习顺序建议

这套资料不适合零基础新手。它要求你起码写过 C# 控制台程序,能看懂基本的语法逻辑。资料包里虽然包含基础语法和面向对象的回顾,但这部分节奏较快,主要起查漏补缺的作用,没法当纯入门教材用。建议有基础的同学直接按顺序推进:先看系统设计框架,理解相关类的设计思路与坐标系统,再回头看 GDI+ 的具体绘制函数。基础薄弱的读者,建议先啃透面向对象的继承与多态部分,因为交互式 CAD 的核心在于图元基类与子类的多态调用,这块逻辑没理顺,后面的系统框架会完全听不懂。

学完能做什么与资料配合练习方法

跟着这套资料走完,你能独立做出一个具备基本绘图、交互操作和对象管理功能的小型图形系统。具体来说,你能用代码控制画笔画刷绘制基本图元,处理防锯齿显示,并建立一套可扩展的图形对象层级结构。学习时不要只盯着视频看,务必把配套源码下载下来配合练习。建议的节奏是:看完一节绘制原理,立刻在开发环境里自己敲一遍代码,跑通后尝试修改参数。比如学完基本图元绘制后,试着自己加一个带文本标注的新图元类,并重写它的绘制方法。这种动手验证比单纯听课更能把知识转化成你自己的开发能力。


用VC#.NET结合GDI+,从无到有开发一个功能较完整的小型交互式CAD系统。

课程目录

*   01 课程简介/

  *   01 课程简介.mp4 28:48

  *   02 源码和PPT下载

*   02 VC#.NET基础/

  *   01 VC#.NET编程基础.mp4 19:28

*   03 GDI+编程/

  *   01 Graphics对象、Paint事件和OnPaint方法.mp4 09:32

  *   02 颜色、画笔和画刷.mp4 05:37

  *   03 基本图元绘制函数.mp4 10:47

  *   04 文本的绘制.mp4 08:01

  *   05 反走样.mp4 04:40

*   04 面向对象编程/

  *   01 类.mp4 12:43

  *   02 继承.mp4 14:42

  *   03 多态.mp4 07:18

*   05 系统设计的基本框架和技术/

  *   01 相关类的设计.mp4 14:33

  *   02 坐标系统.mp4 13:32

  *   03 集合类.mp4 04:28

  *   04 橡皮线技术.mp4 26:06

*   06 基本图元类设计/

  *   01 CGElement类.mp4 07:43

  *   02 CPoint类.mp4 09:51

  *   03 CLine类.mp4 05:01

  *   04 CRectangle类.mp4 05:24

  *   05 CCircle类.mp4 03:49

  *   06 CArc类.mp4 11:22

  *   07 CText类.mp4 07:17

  *   08 使用图元类绘图.mp4 10:31

*   07 交互绘图类设计/

  *   01 CCommand类.mp4 03:08

  *   02 CCreatePoint类.mp4 02:41

  *   03 CCreateLine类.mp4 05:06

  *   04 CCreateRectangle类.mp4 02:22

  *   05 CCreateCircle类.mp4 02:15

  *   06 CCreateArc类.mp4 02:45

  *   07 CCreateText类.mp4 05:43

  *   08 使用交互绘图类.mp4 08:15

*   08 拾取和选择/

  *   01 拾取和选择的概念.mp4 09:41

  *   02 图元的包围矩形和GetBox方法.mp4 14:26

  *   03 图元的拾取算法-Pick方法.mp4 09:48

  *   04 实现图元的拾取-CSelect类.mp4 03:34

  *   05 手柄的拾取.mp4 09:04

  *   06 鼠标单选-CSelect类.mp4 05:27

  *   07 全选、分类选择和放弃选择.mp4 04:53

*   09 图元的编辑/

  *   01 修改图元的属性、删除图元、全部删除.mp4 09:18

*   10 图元变换/

  *   01 图元变换概述.mp4 03:09

  *   02 平移变换 - 图元的Move方法和交互平移CMove类.mp4 14:28

  *   03 平移变换 - 手柄的平移.mp4 08:57

  *   04 平移变换 - 拖拉图元平移.mp4 06:24

  *   05 旋转变换 - 图元绕任意点旋转.mp4 04:23

  *   06 旋转变换 - 图元的Rotate方法和交互旋转CRotate.mp4 07:59

  *   07 镜像变换 - 图元相对于任意直线镜像.mp4 03:05

  *   08 镜像变换 - 图元的Mirror方法和交互镜像CMirror.mp4 07:52

  *   09 比例变换 - 图元的Scale方法和实现比例变换.mp4 07:14

*   11 视图变换/

  *   01 视图变换概述.mp4 08:41

  *   02 画面平移 - ViewDX和ViewDY参数,CPan类.mp4 06:22

  *   03 画面缩放 - ViewScale参数,实现缩放.mp4 05:29

  *   04 适合画布.mp4 07:42

  *   05 局部放大 - CExtend类.mp4 06:04

  *   06 默认视图.mp4 02:18

*   12 撤销和重做/

  *   01 记录画面.mp4 16:03

  *   02 浅拷贝和深拷贝.mp4 07:00

  *   03 撤销和重做.mp4 05:52

*   13 保存和打开/

  *   01 序列化和反序列化.mp4 04:58

  *   02 保存和打开.mp4 06:44