C#画图既可以使用 System.Drawing 命名空间的各种基础类。在某些情况下,也可以直接调用 Windows 的公共基础链接库 GDI32.DLL。
1 GDI32.DLL图形设备接口
意图
Microsoft Windows图形设备界面(GDI)使应用程序能够在视频显示器和打印机上使用图形和格式化文本。基于Windows的应用程序不直接访问图形硬件。相反,GDI代表应用程序与设备驱动程序交互。
适用
GDI可用于所有基于Windows的应用程序。
开发人员受众
此API是为C/C++程序员设计的。需要熟悉Windows消息驱动体系结构。
运行时要求
有关使用特定功能需要哪些操作系统的信息,请参阅该功能文档的“要求”部分。
在本节中
- 位图
- 画笔
- 剪裁
- 颜色
- 坐标空间和变换
- 设备上下文
- 填充形状
- 字体和文本
- 直线和曲线
- 图元文件
- 多个显示器
- 绘画和绘图
- 路径
- 钢笔
- 打印和打印后台处理程序
- 矩形
- 区域
using System;
using System.Runtime.InteropServices;[StructLayout(LayoutKind.Sequential)]
struct TEXTMETRIC
{public Int32 tmHeight;public Int32 tmAscent;public Int32 tmDescent;public Int32 tmInternalLeading;public Int32 tmExternalLeading;public Int32 tmAveCharWidth;public Int32 tmMaxCharWidth;public Int32 tmWeight;public Int32 tmOverhang;public Int32 tmDigitizedAspectX;public Int32 tmDigitizedAspectY;public Char tmFirstChar;public Char tmLastChar;public Char tmDefaultChar;public Char tmBreakChar;public Byte tmItalic;public Byte tmUnderlined;public Byte tmStruckOut;public Byte tmPitchAndFamily;public Byte tmCharSet;
}[StructLayout(LayoutKind.Sequential)]
struct RECT
{public Int32 left;public Int32 top;public Int32 right;public Int32 bottom;
}sealed class Gdi
{public const Int32 TRANSPARENT = 1;public const Int32 FW_DONTCARE = 0;public const Int32 FW_THIN = 100;public const Int32 FW_EXTRALIGHT = 200;public const Int32 FW_ULT