Graphics详解
Graphics类包含在System.Drawing名称空间下,Graphics对象表示GDI+绘图表面,是用于创建图形图像的对象。创建要绘制的图形对象,需要先创建 Graphics对象,然后才可以使用GDI+绘制线条和形状、呈现文本或显示与操作图像。
处理图形包括两个步骤:创建Graphics对象和使用Graphics对象绘制线条和形状、呈现文本或显示与操作图像。
1.创建 Graphics 对象
在ASP.NET中可以从任何由Image类派生的对象创建Graphics对象。通过调用System.Drawing.Graphics.FromImage(System.Drawing.Image)方法,提供要从其创建 Graphics对象的Image变量的名称,代码如下:
Bitmap bitmap = new Bitmap(80, 80); Graphics g = Graphics.FromImage(bitmap); |
获得图形对象引用之后,即可绘制对象、给对象着色并显示对象。
2.使用Graphics对象绘制线条和形状、呈现文本或显示与操作图像
使用Graphics对象绘制线条和形状、呈现文本或显示与操作图像,所用到的属性和方法如表所示。
表 Graphics类的属性及属性说明
名称 |
说明 |
Clip |
获取或设置 Region,该对象限定此 Graphics 的绘图区域。 |
ClipBounds |
获取一个 RectangleF 结构,该结构限定此 Graphics 的剪辑区域。 |
CompositingMode |
获取一个值,该值指定如何将合成图像绘制到此 Graphics。 |
CompositingQuality |
获取或设置绘制到此 Graphics 的合成图像的呈现质量。 |
DpiX |
获取此 Graphics 的水平分辨率。 |
DpiY |
获取此 Graphics 的垂直分辨率。 |
InterpolationMode |
获取或设置与此 Graphics 关联的插补模式。 |
IsClipEmpty |
获取一个值,该值指示此 Graphics 的剪辑区域是否为空。 |
IsVisibleClipEmpty |
获取一个值,该值指示此 Graphics 的可见剪辑区域是否为空。 |
PageScale |
获取或设置此 Graphics 的全局单位和页单位之间的比例。 |
PageUnit |
获取或设置用于此 Graphics 中的页坐标的度量单位。 |
PixelOffsetMode |
获取或设置一个值,该值指定在呈现此 Graphics 的过程中像素如何偏移。 |
RenderingOrigin |
为抵色处理和阴影画笔获取或设置此 Graphics 的呈现原点。 |
SmoothingMode |
获取或设置此 Graphics 的呈现质量。 |
TextContrast |
获取或设置呈现文本的灰度校正值。 |
TextRenderingHint |
获取或设置与此 Graphics 关联的文本的呈现模式。 |
Transform |
获取或设置此 Graphics 的世界变换。 |
VisibleClipBounds |
获取此 Graphics 的可见剪辑区域的边框。 |
表 Graphics类的方法及方法说明
名称 |
说明 |
AddMetafileComment |
向当前 Metafile 添加注释。 |
BeginContainer |
保存具有此 Graphics 的当前状态的图形容器,然后打开并使用新的图形容器。可重载。 |
Clear |
清除整个绘图面并以指定背景色填充。 |
CopyFromScreen |
执行颜色数据从屏幕到 Graphics 的绘图图面的位块传输。可重载。 |
CreateObjRef |
创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。 (从 MarshalByRefObject 继承。) |
Dispose |
释放由Graphics使用的所有资源。 |
DrawArc |
绘制一段弧线,它表示由一对坐标、宽度和高度指定的椭圆部分。可重载。 |
DrawBezier |
绘制由4个Point 结构定义的贝塞尔样条。可重载。 |
DrawBeziers |
用 Point 结构数组绘制一系列贝塞尔样条。可重载。 |
DrawClosedCurve |
绘制由 Point 结构的数组定义的闭合基数样条。可重载。 |
DrawCurve |
绘制经过一组指定的 Point 结构的基数样条。可重载。 |
DrawEllipse |
绘制一个由边框(该边框由一对坐标、高度和宽度指定)定义的椭圆。可重载。 |
DrawIcon |
在指定坐标处绘制由指定的 Icon 表示的图像。可重载。 |
DrawIconUnstretched |
绘制指定的 Icon 表示的图像,而不缩放该图像。 |
DrawImage |
在指定位置并且按原始大小绘制指定的 Image。可重载。 |
DrawImageUnscaled |
在由坐标对指定的位置,使用图像的原始物理大小绘制指定的图像。可重载。 |
DrawImageUnscaled AndClipped |
在不进行缩放的情况下绘制指定的图像,并在需要时剪辑该图像以适合指定的矩形。 |
DrawLine |
可重载。绘制一条连接由坐标对指定的两个点的线条。 |
DrawLines |
可重载。绘制一系列连接一组Point结构的线段。 |
DrawPath |
绘制GraphicsPath。 |
DrawPie |
可重载。绘制一个扇形,该形状由一个坐标对、宽度、高度以及两条射线所指定的椭圆定义。 |
DrawPolygon |
可重载。绘制由一组 Point 结构定义的多边形。 |
DrawRectangle |
可重载。绘制由坐标对、宽度和高度指定的矩形。 |
DrawRectangles |
绘制一系列由 Rectangle 结构指定的矩形。可重载。 |
DrawString |
在指定位置并且用指定的Brush 和Font对象绘制指定的文本字符串。可重载。 |
EndContainer |
关闭当前图形容器,并将此Graphics的状态还原到通过调用BeginContainer方法保存的状态。 |
EnumerateMetafile |
将指定Metafile中的记录逐个发送到回调方法以在指定的点处显示。可重载。 |
Equals |
已重载。 确定两个 Object 实例是否相等。 (从 Object 继承。) |
ExcludeClip |
更新此Graphics的剪辑区域,以排除Rectangle结构所指定的区域。可重载。 |
FillClosedCurve |
填充由 Point 结构数组定义的闭合基数样条曲线的内部。可重载。 |
FillEllipse |
填充边框所定义的椭圆的内部,该边框由一对坐标、一个宽度和一个高度指定。可重载。 |
FillPath |
填充 GraphicsPath 的内部。 |
FillPie |
填充由一对坐标、一个宽度、一个高度以及两条射线指定的椭圆所定义的扇形区的内部。可重载。 |
FillPolygon |
可重载。 填充 Point 结构指定的点数组所定义的多边形的内部。 |
FillRectangle |
填充由一对坐标、一个宽度和一个高度指定的矩形的内部。可重载。 |
FillRectangles |
填充由 Rectangle 结构指定的一系列矩形的内部。可重载。 |
FillRegion |
填充Region的内部。 |
Flush |
强制执行所有挂起的图形操作并立即返回而不等待操作完成。可重载。 |
FromHdc |
从设备上下文的指定句柄创建新的Graphics。可重载。 |
FromHdcInternal |
返回指定设备上下文的Graphics。 |
FromHwnd |
从窗口的指定句柄创建新的Graphics。 |
FromHwndInternal |
创建指定 Windows 句柄的新Graphics。 |
FromImage |
从指定的Image创建新的Graphics。 |
GetHalftonePalette |
获取当前Windows的半色调调色板的句柄。 |
GetHashCode |
用作特定类型的哈希函数。GetHashCode 适合在哈希算法和数据结构(如哈希表)中使用。 (从 Object 继承。) |
GetHdc |
获取与此Graphics关联的设备上下文的句柄。 |
GetLifetimeService |
检索控制此实例的生存期策略的当前生存期服务对象。 (从 MarshalByRefObject 继承。) |
GetNearestColor |
获取与指定的Color结构最接近的颜色。 |
GetType |
获取当前实例的 Type。 (从 Object 继承。) |
InitializeLifetimeService |
获取控制此实例的生存期策略的生存期服务对象。 (从 MarshalByRefObject 继承。) |
IntersectClip |
将此Graphics的剪辑区域更新为当前剪辑区域与指定 Rectangle 结构的交集。可重载。 |
IsVisible |
指示由一对坐标指定的点是否包含在此 Graphics 的可见剪辑区域内。可重载。 |
MeasureCharacterRanges |
获取Region对象的数组,其中每个对象将字符位置的范围限定在指定字符串内。 |
MeasureString |
测量用指定的 Font 绘制的指定字符串。可重载。 |
MultiplyTransform |
将此 Graphics 的世界变换乘以指定的 Matrix。可重载。 |
ReferenceEquals |
确定指定的 Object 实例是否是相同的实例。 (从 Object 继承。) |
ReleaseHdc |
释放通过以前对此 Graphics 的 GetHdc 方法的调用获得的设备上下文句柄。可重载。 |
ReleaseHdcInternal |
释放设备上下文的句柄。 |
ResetClip |
将此 Graphics 的剪辑区域重置为无限区域。 |
ResetTransform |
将此 Graphics 的世界变换矩阵重置为单位矩阵。 |
Restore |
将此 Graphics 的状态还原到 GraphicsState 表示的状态。 |
RotateTransform |
将指定旋转应用于此 Graphics 的变换矩阵。可重载。 |
Save |
保存此 Graphics 的当前状态,并用 GraphicsState 标识保存的状态。 |
ScaleTransform |
将指定的缩放操作应用于此 Graphics 的变换矩阵,方法是将该对象的变换矩阵左乘该缩放矩阵。可重载。 |
SetClip |
将此 Graphics 的剪辑区域设置为指定 Graphics 的 Clip 属性。可重载。 |
ToString |
返回表示当前 Object 的 String。 (从 Object 继承。) |
TransformPoints |
使用此 Graphics 的当前世界变换和页变换,将点数组从一个坐标空间转换到另一个坐标空间。可重载。 |
TranslateClip |
将此 Graphics 的剪辑区域沿水平方向和垂直方向平移指定的量。可重载。 |
TranslateTransform |
通过使此Graphics的变换矩阵左乘指定的平移来更改坐标系统的原点。可重载。 |
Graphics详解相关推荐
- CorelDRAW Graphics Suite2023新功能详解下载教程
CorelDRAW2023版本有效快速创作,充分体现设计者创意,一款全面图形设计软件.应用广告宣传.艺术作品.纺织业等各个行业. CorelDRAW Graphics Suite涵盖了全部CorelD ...
- 15.linux-LCD层次分析(详解)
如果我们的系统要用GUI(图形界面接口),这时LCD设备驱动程序就应该编写成frambuffer接口,而不是像之前那样只编写操作底层的LCD控制器接口. 什么是frambuffer设备? frambu ...
- 万字长文详解如何用Python玩转OpenGL | CSDN 博文精选
作者 | 天元浪子 来源 | CSDN博文精选 [编者按]OpenGL(开放式图形库),用于渲染 2D.3D 矢量图形的跨语言.跨平台的应用程序编程接口,C.C++.Python.Java等语言都能支 ...
- Java中的static关键字详解
** Java中的static关键字详解 ** 在一个类中定义一个方法为static,即静态的,那就是说无需本类的对象就可以调用此方法.调用一个静态方法就是 "类名.方法名" ,静 ...
- 用python画太阳花-python 简单的绘图工具turtle使用详解
目录 1. 画布(canvas) 1.1 设置画布大小 2. 画笔 2.1 画笔的状态 2.2 画笔的属性 2.3 绘图命令 3. 命令详解 4. 绘图举例 4.1 太阳花 4.2 绘制小蟒蛇 4.3 ...
- python机械臂仿真_VTK与Python实现机械臂三维模型可视化详解
三维可视化系统的建立依赖于三维图形平台, 如 OpenGL.VTK.OGRE.OSG等, 传统的方法多采用OpenGL进行底层编程,即对其特有的函数进行定量操作, 需要开发人员熟悉相关函数, 从而造成 ...
- Android vector标签 PathData 画图超详解
此文章来源于https://www.cnblogs.com/yuhanghzsd/p/5466846.html点击打开链接 Android vector标签 PathData 画图超详解 SVG是一种 ...
- Android应用坐标系统全面详解
Android应用坐标系统全面详解 原文链接:CSDN@工匠若水,http://blog.csdn.net/yanbober/article/details/50419117 1. 背景 去年有很多人 ...
- Android中Canvas绘图之Shader使用图文详解
概述 我们在用Android中的Canvas绘制各种图形时,可以通过Paint.setShader(shader)方法为画笔Paint设置shader,这样就可以绘制出多彩的图形.那么Shader是什 ...
- 关于Android Service真正的完全详解,你需要知道的一切
转载请注明出处(万分感谢!): http://blog.csdn.net/javazejian/article/details/52709857 出自[zejian的博客] Service全部 ...
最新文章
- Oracle四舍五入,向上取整,向下取整
- Why Did the Cow Cross the Road III(树状数组)
- bzoj2463谁能赢呢?
- 计算机专业需要转正定级吗,全日制本科考进事业单位,没有取得初级资格职称,转正后能直接聘用为专业技术十二级岗位吗?...
- 暑期应用开发怎么玩?申请蓝牙Mesh网关操控家里的一切
- StringTokenizer(字符串分隔解析类型)
- 交个朋友回应罗永浩撰文事故:系没有处理好内部流程导致的误解
- win7登录密码破解工具
- 基于itext的pdf拼接
- java对象转换为map
- zabbix安装教程Linux环境部署zabbix3.2
- surf算法matlab代码,surf算法matlab源码
- 使用内网服务器上线微信小程序总结
- dlib重新训练dlib_face_recognition_resnet_model_v1.dat
- Android中实现简单的仿京东详情页面
- 图解推导爬楼梯(跳台阶)问题详细过程
- 小程序:下载图片文件(wx.downloadFile)并保存到手机相册(wx.saveImageToPhotosAlbum)
- kettle连接设置字符编码
- 如何向天翼云服务器上传文件,天翼云储存上传文件的方法
- 期货交易怎么买空(期货怎么买做空)
热门文章
- Word,PDF,PPT,TXT之间的转换方法。
- 未来IT互联网企业的发展前景
- 这几款图片格式转换器帮助你轻松解决图片转换难题
- kalilinux安装中文输入法 安装fcitx,小企鹅输入法。
- 关于IDEA下载安装,jpcap与wincap的一些使用方法
- redhat安装wine教程_超简单制作多合一系统安装启动U盘的工具
- “换个江湖再见”阿里巴巴20周年年会直击:岁月很暖,未来很酷。
- flask上传图片解决方案
- 阿里云价格/报价 - 阿里云服务器最新收费标准
- BeyondCompare4完美“破解“