# gdip.graphics 库模块帮助文档

## gdip 成员列表 <a id="gdip" href="#gdip">&#x23;</a>

### gdip.graphics() <a id="gdip.graphics" href="#gdip.graphics">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdip.graphics(bitmap) <a id="gdip.graphics" href="#gdip.graphics">&#x23;</a>
使用 gdip.bitmap 对象创建 GDI+ 画板

### gdip.graphics(hdc) <a id="gdip.graphics" href="#gdip.graphics">&#x23;</a>
使用GDI设备句柄创建 GDI+ 画板

### gdip.graphics(hwnd) <a id="gdip.graphics" href="#gdip.graphics">&#x23;</a>
使用窗口或控件句柄创建 GDI+ 画板

### gdip.graphics(image) <a id="gdip.graphics" href="#gdip.graphics">&#x23;</a>
使用参数 @1 指定的 gdip.image 或 gdip.bitmap 对象创建 GDI+ 画板

### gdip.graphics(winform) <a id="gdip.graphics" href="#gdip.graphics">&#x23;</a>
使用窗口或控件对象创建 GDI+ 画板。  

窗体控件的 onPaint 事件优先在窗口自动绑定的内存绘图设备上创建画板。

## gdipgraphicsObject 成员列表 <a id="gdipgraphicsObject" href="#gdipgraphicsObject">&#x23;</a>

### gdipgraphicsObject._bitmap <a id="gdipgraphicsObject._bitmap" href="#gdipgraphicsObject._bitmap">&#x23;</a>
创建画板时使用的 gdip.bitmap 对象  

[返回对象:gdipbitmapObject](https://www.aardio.com/zh-cn/docs/library-reference/gdip/bitmap.html#gdipbitmapObject)

### gdipgraphicsObject._hdc <a id="gdipgraphicsObject._hdc" href="#gdipgraphicsObject._hdc">&#x23;</a>
创建画板时使用的设备上下文

### gdipgraphicsObject._hwnd <a id="gdipgraphicsObject._hwnd" href="#gdipgraphicsObject._hwnd">&#x23;</a>
创建画板时使用的句柄

### gdipgraphicsObject._image <a id="gdipgraphicsObject._image" href="#gdipgraphicsObject._image">&#x23;</a>
创建画板时使用的 gdip.image 对象  

[返回对象:gdipimageObject](https://www.aardio.com/zh-cn/docs/library-reference/gdip/image.html#gdipimageObject)

### gdipgraphicsObject.clear() <a id="gdipgraphicsObject.clear" href="#gdipgraphicsObject.clear">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.clear(0xFFFFFFFF/*ARGB 颜色值*/) <a id="gdipgraphicsObject.clear" href="#gdipgraphicsObject.clear">&#x23;</a>
用指定的颜色清空画板

### gdipgraphicsObject.compositingMode <a id="gdipgraphicsObject.compositingMode" href="#gdipgraphicsObject.compositingMode">&#x23;</a>

```aardio
gdipgraphicsObject.compositingMode = _GdipCompositingMode/*合成图像模式,SourceCopy为覆盖,SourceOver为叠加  
*/ ;
```

### gdipgraphicsObject.compositingQuality <a id="gdipgraphicsObject.compositingQuality" href="#gdipgraphicsObject.compositingQuality">&#x23;</a>

```aardio
gdipgraphicsObject.compositingQuality = _GdipCompositingQuality/*合成图像质量*/ ;
```

### gdipgraphicsObject.createCachedBitmap(位图对象) <a id="gdipgraphicsObject.createCachedBitmap" href="#gdipgraphicsObject.createCachedBitmap">&#x23;</a>
创建缓存位图。  
输出缓存位图唯一能改变的只有输出坐标。  
但在大多数情况下（除了平铺静态图像）这种需求很罕见。  
对于需要频繁更新绘图的场景，如果频繁调用此函数反而会严重降低性能。  
因此多数情况下不应当使用这个函数。  
aardio 窗口控件的 onPaint / plus 控件的绘图事件都已实现了双缓冲，  
不建议再去调用 createCachedBitmap 。

### gdipgraphicsObject.delete() <a id="gdipgraphicsObject.delete" href="#gdipgraphicsObject.delete">&#x23;</a>
释放图像  
此对象支持自动释放,不必手工调用此函数  

[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.deleteCachedBitmap(缓存位图) <a id="gdipgraphicsObject.deleteCachedBitmap" href="#gdipgraphicsObject.deleteCachedBitmap">&#x23;</a>
删除缓存位图

### gdipgraphicsObject.drawArc() <a id="gdipgraphicsObject.drawArc" href="#gdipgraphicsObject.drawArc">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.drawArc(pen,x,y,width,height,startAngle,sweepAngle) <a id="gdipgraphicsObject.drawArc" href="#gdipgraphicsObject.drawArc">&#x23;</a>
画圆弧。  
x,y指定椭圆所在矩形的左上角,width指定宽度,height指定高度,  
startAngle:起始角度,以度为单位从X轴顺时针测量,水平线右侧为0度,  
sweepAngle:startAngle和弧线末尾之间的扫描角度

### gdipgraphicsObject.drawBackground <a id="gdipgraphicsObject.drawBackground" href="#gdipgraphicsObject.drawBackground">&#x23;</a>
画背景图

### gdipgraphicsObject.drawBackground() <a id="gdipgraphicsObject.drawBackground" href="#gdipgraphicsObject.drawBackground">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.drawBackground(位图对象,模式,绘图RECT,上,右,下,左,显示属性,dpiScaleX,dpiScaleY) <a id="gdipgraphicsObject.drawBackground" href="#gdipgraphicsObject.drawBackground">&#x23;</a>
支持模式 auto,expand,stretch,center,scale,tile,repeat-x,repeat-y。  
所有模式用法请参考 plus 控件背景模式属性说明，  
auto 模式指图像超过绘图区则居中，否则缩放。  
expand 模式可选使用 上,右,下,左参数指定切图位置。  
repeat-x,repeat-y 可选使用 上,右,下,左 指定输出边距。  

此函数不检查参数正确性,调用者有责任保证参数正确  
参数 @3 可用 ::RECT 结构体指定区块参数。  
可选使用参数 @8 指定 gdip.imageAttributes 对象设置显示属性  
tile,repeat-x,repeat-y 三种模式忽略显示属性,  
可选用 dpiScaleX,dpiScaleY 指定 DPI 缩放系数。  
函数返回自身

### gdipgraphicsObject.drawBezier <a id="gdipgraphicsObject.drawBezier" href="#gdipgraphicsObject.drawBezier">&#x23;</a>
画贝塞尔曲线

### gdipgraphicsObject.drawBezier(pen,point1,point2,point3,point4) <a id="gdipgraphicsObject.drawBezier" href="#gdipgraphicsObject.drawBezier">&#x23;</a>
画三次贝塞尔曲线。  
参数 @point1 到 @point4 可指定为 `::POINTF` 结构体或者包含 x,y 字段的普通表对象。  
四个坐标点依次为：起点、控制点 1、控制点 2、终点。

### gdipgraphicsObject.drawBezier(pen,x1,y1,x2,y2,x3,y3,x4,y4) <a id="gdipgraphicsObject.drawBezier" href="#gdipgraphicsObject.drawBezier">&#x23;</a>
画三次贝塞尔曲线。  
4个坐标点依次为：起点、控制点 1、控制点 2、终点。

### gdipgraphicsObject.drawBitmapRepeatX() <a id="gdipgraphicsObject.drawBitmapRepeatX" href="#gdipgraphicsObject.drawBitmapRepeatX">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.drawBitmapRepeatX(图像,绘图RECT,上,右,下,左) <a id="gdipgraphicsObject.drawBitmapRepeatX" href="#gdipgraphicsObject.drawBitmapRepeatX">&#x23;</a>
以水平平铺的方式绘制图像。  
参数 @1 为 gdip.bitmap 对象。  
参数 @2 可用 ::RECT 结构体指定区块参数。  
最后的四个参数指定坐标指定输出边距。  
如果指定了下边距则忽略上边距。

### gdipgraphicsObject.drawBitmapRepeatY() <a id="gdipgraphicsObject.drawBitmapRepeatY" href="#gdipgraphicsObject.drawBitmapRepeatY">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.drawBitmapRepeatY(图像,绘图RECT,上,右,下,左) <a id="gdipgraphicsObject.drawBitmapRepeatY" href="#gdipgraphicsObject.drawBitmapRepeatY">&#x23;</a>
以垂直平铺的方式绘制图像。  
参数 @1 为 gdip.bitmap 对象。  
参数 @2 可用 ::RECT 结构体指定区块参数。  
可选用最后的四个参数指定输出边距。  
如果指定了右边距则忽略左边距。

### gdipgraphicsObject.drawBitmapTile() <a id="gdipgraphicsObject.drawBitmapTile" href="#gdipgraphicsObject.drawBitmapTile">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.drawBitmapTile(图像,RECT区块) <a id="gdipgraphicsObject.drawBitmapTile" href="#gdipgraphicsObject.drawBitmapTile">&#x23;</a>
使用 TextureBrush 重复平铺图像。  
参数 @2 可用 ::RECT 结构体指定区块参数。  
此函数不会修改画板的剪切区域与变换状态

### gdipgraphicsObject.drawCachedBitmap(缓存位图,x,y) <a id="gdipgraphicsObject.drawCachedBitmap" href="#gdipgraphicsObject.drawCachedBitmap">&#x23;</a>
输出缓存位图

### gdipgraphicsObject.drawCircle() <a id="gdipgraphicsObject.drawCircle" href="#gdipgraphicsObject.drawCircle">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.drawCircle(pen,cx,cy,radius) <a id="gdipgraphicsObject.drawCircle" href="#gdipgraphicsObject.drawCircle">&#x23;</a>
绘制圆形。  
参数 cx,cy 指定圆心坐标，radius 指定非负半径。  
返回画板对象自身。

### gdipgraphicsObject.drawClosedCurve() <a id="gdipgraphicsObject.drawClosedCurve" href="#gdipgraphicsObject.drawClosedCurve">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.drawClosedCurve(pen,points...) <a id="gdipgraphicsObject.drawClosedCurve" href="#gdipgraphicsObject.drawClosedCurve">&#x23;</a>
绘制闭合基数样条曲线，默认张力为 0.5。  
- 参数 @pen 指定 gdip.pen 画笔。  
- 参数 @points 可指定一个坐标点数组或展开为多个坐标点参数。  
每个坐标点可使用 ::POINTF 结构体或包含 x,y 字段的表。  
至少需要三个坐标点。  
返回画板对象自身。

### gdipgraphicsObject.drawClosedCurve(pen,x1,y1,x2,y2,x3,y3...) <a id="gdipgraphicsObject.drawClosedCurve" href="#gdipgraphicsObject.drawClosedCurve">&#x23;</a>
绘制闭合基数样条曲线，默认张力为 0.5。  
从参数 @2 开始每两个数值表示一个坐标点，至少需要三个坐标点。  
返回画板对象自身。

### gdipgraphicsObject.drawClosedCurve2() <a id="gdipgraphicsObject.drawClosedCurve2" href="#gdipgraphicsObject.drawClosedCurve2">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.drawClosedCurve2(pen,tension,points...) <a id="gdipgraphicsObject.drawClosedCurve2" href="#gdipgraphicsObject.drawClosedCurve2">&#x23;</a>
绘制指定张力的闭合基数样条曲线。  
- 参数 @pen 指定 gdip.pen 画笔。  
- 参数 @tension 指定张力。  
- 参数 @points 可指定一个坐标点数组或展开为多个坐标点参数。  
至少需要三个坐标点。  
返回画板对象自身。

### gdipgraphicsObject.drawClosedCurve2(pen,tension,x1,y1,x2,y2,x3,y3...) <a id="gdipgraphicsObject.drawClosedCurve2" href="#gdipgraphicsObject.drawClosedCurve2">&#x23;</a>
绘制指定张力的闭合基数样条曲线。  
从参数 @3 开始每两个数值表示一个坐标点，至少需要三个坐标点。  
返回画板对象自身。

### gdipgraphicsObject.drawCurve(pen,points...) <a id="gdipgraphicsObject.drawCurve" href="#gdipgraphicsObject.drawCurve">&#x23;</a>
画曲线。  
- 参数 @pen 指定画笔（ gdip.pen 对象 ）。  
曲线强度为 0 画出来的就是直线，设为 0.5 相当于调用 drawCurve ,  
- 参数 @points 可指定曲线经过的多个坐标点（可指定一个数组或展开为多个参数）。  
每个坐标点可以是 :: POINTF 创建的格式为 `{float x, float y}` 的结构体。  
至少要指定三个坐标点才能画出曲线。

### gdipgraphicsObject.drawCurve(pen,x1,y1,x2,y2...) <a id="gdipgraphicsObject.drawCurve" href="#gdipgraphicsObject.drawCurve">&#x23;</a>
画曲线。  
- 参数 @pen 指定画笔（ gdip.pen 对象 ）。  
曲线强度为 0 画出来的就是直线，设为 0.5 相当于调用 drawCurve ,  
- 参数 @3 可指定曲线经过的多个坐标点（可指定一个数组或展开为多个参数）。  
用成对的数值表示单个坐标点，例如 `x1,y1` 每表示第一个坐标点。  
至少要指定三个坐标点才能画出曲线。

### gdipgraphicsObject.drawCurve2(pen,tension,points...) <a id="gdipgraphicsObject.drawCurve2" href="#gdipgraphicsObject.drawCurve2">&#x23;</a>
画曲线。  
- 参数 @pen 指定画笔（ gdip.pen 对象 ）。  
- 参数 @tension 指定曲线强度。  
曲线强度为 0 画出来的就是直线，设为 0.5 相当于调用 drawCurve ,  
- 参数 @points 可指定曲线经过的多个坐标点（可指定一个数组或展开为多个参数）。  
每个坐标点可以是 :: POINTF 创建的格式为 `{float x, float y}` 的结构体。  
至少要指定三个坐标点才能画出曲线。

### gdipgraphicsObject.drawCurve2(pen,tension,x1,y1,x2,y2...) <a id="gdipgraphicsObject.drawCurve2" href="#gdipgraphicsObject.drawCurve2">&#x23;</a>
画曲线。  
- 参数 @pen 指定画笔（ gdip.pen 对象 ）。  
- 参数 @tension 指定曲线强度。  
曲线强度为 0 画出来的就是直线，设为 0.5 相当于调用 drawCurve ,  
- 参数 @3 可指定曲线经过的多个坐标点（可指定一个数组或展开为多个参数）。  
用成对的数值表示单个坐标点，例如 `x1,y1` 每表示第一个坐标点。  
至少要指定三个坐标点才能画出曲线。

### gdipgraphicsObject.drawEllipse() <a id="gdipgraphicsObject.drawEllipse" href="#gdipgraphicsObject.drawEllipse">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.drawEllipse(pen,x,y,width,height) <a id="gdipgraphicsObject.drawEllipse" href="#gdipgraphicsObject.drawEllipse">&#x23;</a>
画圆形、或椭圆。  
参数 x,y 指定椭圆所在矩形的左上角，参数 width 指定宽度，参数 height 指定高度

画圆形、或椭圆。  
参数 x,y 指定椭圆所在矩形的左上角，参数 width 指定宽度，参数 height 指定高度

### gdipgraphicsObject.drawImage() <a id="gdipgraphicsObject.drawImage" href="#gdipgraphicsObject.drawImage">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.drawImage(图像,左,上,显示属性) <a id="gdipgraphicsObject.drawImage" href="#gdipgraphicsObject.drawImage">&#x23;</a>
绘图  
可使使用参数 @2 ,参数 @3 指定输出坐标  
可选使用参数 @4 指定 gdip.imageAttributes 对象设置显示属性,  
注意此函数忽略原图DPI

### gdipgraphicsObject.drawImageCenter() <a id="gdipgraphicsObject.drawImageCenter" href="#gdipgraphicsObject.drawImageCenter">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.drawImageCenter(图像,RECT区块,显示属性) <a id="gdipgraphicsObject.drawImageCenter" href="#gdipgraphicsObject.drawImageCenter">&#x23;</a>
绘图，保持图片大小并绝对居中显示。  
参数 @2 可用 ::RECT 结构体指定区块参数。  
可选使用参数 @3 指定 gdip.imageAttributes 对象设置显示属性

### gdipgraphicsObject.drawImageExpand <a id="gdipgraphicsObject.drawImageExpand" href="#gdipgraphicsObject.drawImageExpand">&#x23;</a>
九宫格绘图,九宫格切图后边角四格固定,中间五格拉伸  
该函数不会严格检查参数、并忽略执行错误,调用该函数前必须保证参数正确

### gdipgraphicsObject.drawImageExpand() <a id="gdipgraphicsObject.drawImageExpand" href="#gdipgraphicsObject.drawImageExpand">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.drawImageExpand(图像,绘图RECT,上,右,下,左,显示属性) <a id="gdipgraphicsObject.drawImageExpand" href="#gdipgraphicsObject.drawImageExpand">&#x23;</a>
参数 @1 为 gdip.image 或 gdip.bitmap 对象  
参数 @2 使用::RECT结构体指定目标区块,  
参数 @3 ,@4,@5,@6指定九宫格切图坐标  
可选使用参数@7指定 gdip.imageAttributes 对象设置显示属性

### gdipgraphicsObject.drawImagePoint() <a id="gdipgraphicsObject.drawImagePoint" href="#gdipgraphicsObject.drawImagePoint">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.drawImagePoint(图像,RECT区块,x,y) <a id="gdipgraphicsObject.drawImagePoint" href="#gdipgraphicsObject.drawImagePoint">&#x23;</a>
绘图。  
参数 @2 可用 ::RECT 结构体指定区块参数。  
x,y指定偏移坐标  
如果为0到1之间的值则为剩余空间百分比  
如果为负数则为右下角坐标

### gdipgraphicsObject.drawImagePointRect() <a id="gdipgraphicsObject.drawImagePointRect" href="#gdipgraphicsObject.drawImagePointRect">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.drawImagePointRect(图像, 输出左,输出上,左,上,宽,高) <a id="gdipgraphicsObject.drawImagePointRect" href="#gdipgraphicsObject.drawImagePointRect">&#x23;</a>
将图像的指定区块输出到指定坐标  
注意该函数会受PNG,JPG的DPI设置影响输出大小

### gdipgraphicsObject.drawImageRect() <a id="gdipgraphicsObject.drawImageRect" href="#gdipgraphicsObject.drawImageRect">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.drawImageRect(图像,左,上,宽,高,显示属性) <a id="gdipgraphicsObject.drawImageRect" href="#gdipgraphicsObject.drawImageRect">&#x23;</a>
画图  
参数 @2 ,@3,@4,@5指定目标区块,  
可选使用参数@6指定 gdip.imageAttributes 对象设置显示属性

### gdipgraphicsObject.drawImageRectRect() <a id="gdipgraphicsObject.drawImageRectRect" href="#gdipgraphicsObject.drawImageRectRect">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.drawImageRectRect(图像,输出左,输出上,输出宽,输出高,左,上,宽,高,显示属性) <a id="gdipgraphicsObject.drawImageRectRect" href="#gdipgraphicsObject.drawImageRectRect">&#x23;</a>
将图像的指定区块输出到指定区块  
参数 @2 ,@3,@4,@5指定目标区块,  
参数@6,@7,@8,@9指定图像区块,  
可选使用 参数@10 指定 gdip.imageAttributes 对象设置显示属性

### gdipgraphicsObject.drawImageScale() <a id="gdipgraphicsObject.drawImageScale" href="#gdipgraphicsObject.drawImageScale">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.drawImageScale(图像,RECT区块,显示属性) <a id="gdipgraphicsObject.drawImageScale" href="#gdipgraphicsObject.drawImageScale">&#x23;</a>
绘图  
保持比例缩放到合适大小。  
参数 @2 可用 ::RECT 结构体指定区块参数。  
可选使用参数 @3 指定 gdip.imageAttributes 对象设置显示属性

### gdipgraphicsObject.drawImageStretch() <a id="gdipgraphicsObject.drawImageStretch" href="#gdipgraphicsObject.drawImageStretch">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.drawImageStretch(图像,RECT区块,显示属性) <a id="gdipgraphicsObject.drawImageStretch" href="#gdipgraphicsObject.drawImageStretch">&#x23;</a>
绘图，拉伸图片到区块大小。  
参数 @2 可用 ::RECT 结构体指定区块参数。  
可选使用参数 @3 指定 gdip.imageAttributes 对象设置显示属性

### gdipgraphicsObject.drawImageWithDpi() <a id="gdipgraphicsObject.drawImageWithDpi" href="#gdipgraphicsObject.drawImageWithDpi">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.drawImageWithDpi(图像,左,上) <a id="gdipgraphicsObject.drawImageWithDpi" href="#gdipgraphicsObject.drawImageWithDpi">&#x23;</a>
绘图  
可使使用参数 @2 ,参数 @3 指定输出坐标  
注意该函数会因 PNG,JPG 图像文件的 DPI 设置影响输出大小

### gdipgraphicsObject.drawLine <a id="gdipgraphicsObject.drawLine" href="#gdipgraphicsObject.drawLine">&#x23;</a>
画线

### gdipgraphicsObject.drawLine() <a id="gdipgraphicsObject.drawLine" href="#gdipgraphicsObject.drawLine">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.drawLine(pen,point1,point2) <a id="gdipgraphicsObject.drawLine" href="#gdipgraphicsObject.drawLine">&#x23;</a>
画线。  
- 参数 @pen 为 gdip.pen 对象，  
- 参数 @point1,@point2 指定开始与结束坐标，  
坐标为包含 x,y 字段（数值）的任意表对象。

### gdipgraphicsObject.drawLine(pen,x1,y1,x2,y2) <a id="gdipgraphicsObject.drawLine" href="#gdipgraphicsObject.drawLine">&#x23;</a>
画线。  
- 参数 @pen 为 gdip.pen 对象，  
- 参数 @x1,@y1,@x2,@y2 指定开始与结束坐标

### gdipgraphicsObject.drawLines <a id="gdipgraphicsObject.drawLines" href="#gdipgraphicsObject.drawLines">&#x23;</a>
绘制折线（多段线）。  
注意 drawLines 方法绘制的多段线是不闭合的，而 drawPolygon 方法绘制的多边形是闭合的。  
drawLines 与 drawPolyline 是同一函数的不同别名

### gdipgraphicsObject.drawLines(pen,points...) <a id="gdipgraphicsObject.drawLines" href="#gdipgraphicsObject.drawLines">&#x23;</a>
- 参数 @pen 指定画笔（gdip.pen 对象） 。  
- 参数 @points 可指定多边形经过的多个坐标点（可指定一个数组或展开为多个参数）。  
每个坐标点可以是 :: POINTF 创建的格式为 `{float x, float y}` 的结构体。  
至少要指定两个坐标点

### gdipgraphicsObject.drawLines(pen,x1,y1,x2,y2...) <a id="gdipgraphicsObject.drawLines" href="#gdipgraphicsObject.drawLines">&#x23;</a>
- 参数 @pen 指定画笔（gdip.pen 对象） 。  
- 参数 @2 可指定多边形经过的多个坐标点（可指定一个数组或展开为多个参数）。  
用成对的数值表示单个坐标点，例如 `x1,y1` 每表示第一个坐标点。  
至少要指定两个坐标点

### gdipgraphicsObject.drawPath <a id="gdipgraphicsObject.drawPath" href="#gdipgraphicsObject.drawPath">&#x23;</a>
画路径

### gdipgraphicsObject.drawPath() <a id="gdipgraphicsObject.drawPath" href="#gdipgraphicsObject.drawPath">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.drawPath(pen,path) <a id="gdipgraphicsObject.drawPath" href="#gdipgraphicsObject.drawPath">&#x23;</a>
画路径  
- 参数 @pen 为 gdip.pen 对象  
- 参数 @path 为 gdip.path 对象

### gdipgraphicsObject.drawPie() <a id="gdipgraphicsObject.drawPie" href="#gdipgraphicsObject.drawPie">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.drawPie(pen,x,y,width,height,startAngle,sweepAngle) <a id="gdipgraphicsObject.drawPie" href="#gdipgraphicsObject.drawPie">&#x23;</a>
画扇形、或椭圆  
startAngle:起始角度,以度为单位从X轴顺时针测量,水平线右侧为0度,  
sweepAngle:startAngle和弧线末尾之间的扫描角度

### gdipgraphicsObject.drawPolygon <a id="gdipgraphicsObject.drawPolygon" href="#gdipgraphicsObject.drawPolygon">&#x23;</a>
绘制闭合的多边形。  
如果要绘制不闭合的多段线（折线）请改用 drawPolyline 方法。

### gdipgraphicsObject.drawPolygon() <a id="gdipgraphicsObject.drawPolygon" href="#gdipgraphicsObject.drawPolygon">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.drawPolygon(pen,points...) <a id="gdipgraphicsObject.drawPolygon" href="#gdipgraphicsObject.drawPolygon">&#x23;</a>
绘制多边形。  
- 参数 @pen 指定画笔（gdip.pen 对象） 。  
- 参数 @points 可指定多边形经过的多个坐标点（可指定一个数组或展开为多个参数）。  
每个坐标点可以是 :: POINTF 创建的格式为 `{float x, float y}` 的结构体。  
至少要指定两个坐标点

### gdipgraphicsObject.drawPolygon(pen,x1,y1,x2,y2...) <a id="gdipgraphicsObject.drawPolygon" href="#gdipgraphicsObject.drawPolygon">&#x23;</a>
绘制多边形。  
- 参数 @pen 指定画笔（gdip.pen 对象） 。  
- 参数 @3 可指定多边形经过的多个坐标点（可指定一个数组或展开为多个参数）。  
用成对的数值表示单个坐标点，例如 `x1,y1` 每表示第一个坐标点。  
至少要指定两个坐标点

### gdipgraphicsObject.drawPolyline <a id="gdipgraphicsObject.drawPolyline" href="#gdipgraphicsObject.drawPolyline">&#x23;</a>
绘制折线（多段线）。  
注意 drawPolyline 方法绘制的多段线是不闭合的，而 drawPolygon 方法绘制的多边形是闭合的。  
drawLines 与 drawPolyline 是同一函数的不同别名

### gdipgraphicsObject.drawPolyline(pen,points...) <a id="gdipgraphicsObject.drawPolyline" href="#gdipgraphicsObject.drawPolyline">&#x23;</a>
- 参数 @pen 指定画笔（gdip.pen 对象） 。  
- 参数 @points 可指定多边形经过的多个坐标点（可指定一个数组或展开为多个参数）。  
每个坐标点可以是 :: POINTF 创建的格式为 `{float x, float y}` 的结构体。  
至少要指定两个坐标点

### gdipgraphicsObject.drawPolyline(pen,x1,y1,x2,y2...) <a id="gdipgraphicsObject.drawPolyline" href="#gdipgraphicsObject.drawPolyline">&#x23;</a>
- 参数 @pen 指定画笔（gdip.pen 对象） 。  
- 参数 @2 可指定多边形经过的多个坐标点（可指定一个数组或展开为多个参数）。  
用成对的数值表示单个坐标点，例如 `x1,y1` 每表示第一个坐标点。  
至少要指定两个坐标点

### gdipgraphicsObject.drawRectangle <a id="gdipgraphicsObject.drawRectangle" href="#gdipgraphicsObject.drawRectangle">&#x23;</a>
画方块

### gdipgraphicsObject.drawRectangle() <a id="gdipgraphicsObject.drawRectangle" href="#gdipgraphicsObject.drawRectangle">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.drawRectangle(pen,rect) <a id="gdipgraphicsObject.drawRectangle" href="#gdipgraphicsObject.drawRectangle">&#x23;</a>
画方块  
参数 @pen 为 gdip.pen 对象，  
参数 @rect 可指定 ::RECT 或 RECTF 结构体。

### gdipgraphicsObject.drawRectangle(pen,x1,y1,width,height) <a id="gdipgraphicsObject.drawRectangle" href="#gdipgraphicsObject.drawRectangle">&#x23;</a>
画方块  
参数 @pen 为 gdip.pen 对象，  
参数 @x1,@y1 为坐标，  
@width 为宽度，  
@height 为高度

### gdipgraphicsObject.drawRoundRect <a id="gdipgraphicsObject.drawRoundRect" href="#gdipgraphicsObject.drawRoundRect">&#x23;</a>
画圆角矩形边框。  
使用此函数前必须导入 gdip.path 库（plus 控件已默认导入）。  

此函数内部调用临时的 gdip.path 对象，  
并利用其 addRoundRect 创建圆角矩形足径。  
如果需要重用路径对象请直接使用 gdip.path 。

### gdipgraphicsObject.drawRoundRect(pen,rect,radius) <a id="gdipgraphicsObject.drawRoundRect" href="#gdipgraphicsObject.drawRoundRect">&#x23;</a>
画圆角矩形边框。  

- 参数 @pen 指定画笔对象（ gdip.pen 对象）。  
- 参数 @rect 可指定 ::RECT 或 ::RECTF 结构体。  
- 参数 @radius 指定圆角大小。

### gdipgraphicsObject.drawRoundRect(pen,x,y,width,height,radius) <a id="gdipgraphicsObject.drawRoundRect" href="#gdipgraphicsObject.drawRoundRect">&#x23;</a>
画圆角矩形边框。  

- 参数 @pen 指定画笔对象（ gdip.pen 对象）。  
- 参数 x,y 指定左上角坐标，width,height 指定宽高。  
- 参数 @radius 指定圆角大小。

### gdipgraphicsObject.drawString <a id="gdipgraphicsObject.drawString" href="#gdipgraphicsObject.drawString">&#x23;</a>
输出文本

### gdipgraphicsObject.drawString() <a id="gdipgraphicsObject.drawString" href="#gdipgraphicsObject.drawString">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.drawString(str,font,rectf,strFormat,brush) <a id="gdipgraphicsObject.drawString" href="#gdipgraphicsObject.drawString">&#x23;</a>
输出文本  
- @str 参数为要输出的文本（非字符串自动调用 tostring 转换）  
- @font 参数为 gdip.font字体对象,  
- @rectf 为 ::RECTF 结构体,RECT 结构体可使用 float 方法获取 ::RECTF 结构体。  
- @strFormat 指定输出格式的 gdip.stringFormat 对象  
- @brush为 gdip.solidBrush创建的画刷对象

### gdipgraphicsObject.drawString(str,font,x,y,brush) <a id="gdipgraphicsObject.drawString" href="#gdipgraphicsObject.drawString">&#x23;</a>
输出文本  
- @str 参数为要输出的文本（非字符串自动调用 tostring 转换）  
- @font 参数为 gdip.font字体对象,  
- 参数 @x,@y 必须用数值指定输出坐标，宽高默认设为余下可用的可见剪切区域。  
@brush为 gdip.solidBrush创建的画刷对象。  
- 仅指定 x,y 坐标时不必指定输出格式，默认左上对齐

### gdipgraphicsObject.fillCircle() <a id="gdipgraphicsObject.fillCircle" href="#gdipgraphicsObject.fillCircle">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.fillCircle(brush,cx,cy,radius) <a id="gdipgraphicsObject.fillCircle" href="#gdipgraphicsObject.fillCircle">&#x23;</a>
填充圆形。  
参数 cx,cy 指定圆心坐标，radius 指定非负半径。  
返回画板对象自身。

### gdipgraphicsObject.fillClosedCurve() <a id="gdipgraphicsObject.fillClosedCurve" href="#gdipgraphicsObject.fillClosedCurve">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.fillClosedCurve(brush,fillMode,x1,y1,x2,y2,x3,y3...) <a id="gdipgraphicsObject.fillClosedCurve" href="#gdipgraphicsObject.fillClosedCurve">&#x23;</a>
填充闭合基数样条曲线，默认张力为 0.5。  
参数 @fillMode 可留空或使用 _GdipFillMode 前缀常量；后续每两个数值表示一个坐标点，至少需要三个坐标点。  
返回画板对象自身。

### gdipgraphicsObject.fillClosedCurve(brush,points,fillMode) <a id="gdipgraphicsObject.fillClosedCurve" href="#gdipgraphicsObject.fillClosedCurve">&#x23;</a>
填充闭合基数样条曲线，默认张力为 0.5。  
- 参数 @brush 指定画刷。  
- 参数 @points 指定坐标点数组，至少需要三个坐标点。  
- 参数 @fillMode 可选使用 _GdipFillMode 前缀常量指定填充方式，默认 _GdipFillModeAlternate。  
返回画板对象自身。

### gdipgraphicsObject.fillClosedCurve2() <a id="gdipgraphicsObject.fillClosedCurve2" href="#gdipgraphicsObject.fillClosedCurve2">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.fillClosedCurve2(brush,tension,fillMode,x1,y1,x2,y2,x3,y3...) <a id="gdipgraphicsObject.fillClosedCurve2" href="#gdipgraphicsObject.fillClosedCurve2">&#x23;</a>
填充指定张力的闭合基数样条曲线。  
参数 @fillMode 可留空或使用 _GdipFillMode 前缀常量；后续每两个数值表示一个坐标点，至少需要三个坐标点。  
返回画板对象自身。

### gdipgraphicsObject.fillClosedCurve2(brush,tension,points,fillMode) <a id="gdipgraphicsObject.fillClosedCurve2" href="#gdipgraphicsObject.fillClosedCurve2">&#x23;</a>
填充指定张力的闭合基数样条曲线。  
- 参数 @tension 指定张力。  
- 参数 @points 指定坐标点数组，至少需要三个坐标点。  
- 参数 @fillMode 可选使用 _GdipFillMode 前缀常量指定填充方式，默认 _GdipFillModeAlternate。  
返回画板对象自身。

### gdipgraphicsObject.fillEllipse() <a id="gdipgraphicsObject.fillEllipse" href="#gdipgraphicsObject.fillEllipse">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.fillEllipse(brush,rect) <a id="gdipgraphicsObject.fillEllipse" href="#gdipgraphicsObject.fillEllipse">&#x23;</a>
填充圆形、或椭圆。  
参数 @rect 可指定 ::RECT 或 RECTF 结构体。

### gdipgraphicsObject.fillEllipse(brush,x,y,width,height) <a id="gdipgraphicsObject.fillEllipse" href="#gdipgraphicsObject.fillEllipse">&#x23;</a>
填充圆形、或椭圆。  
参数 x,y 指定椭圆所在矩形的左上角，参数 width 指定宽度，参数 height 指定高度

### gdipgraphicsObject.fillPath <a id="gdipgraphicsObject.fillPath" href="#gdipgraphicsObject.fillPath">&#x23;</a>
填充路径

### gdipgraphicsObject.fillPath() <a id="gdipgraphicsObject.fillPath" href="#gdipgraphicsObject.fillPath">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.fillPath(brush,path) <a id="gdipgraphicsObject.fillPath" href="#gdipgraphicsObject.fillPath">&#x23;</a>
填充路径。  
- 参数 @brush 为画刷对象  
- 参数 @path 为 gdip.path 路径对象

### gdipgraphicsObject.fillPie() <a id="gdipgraphicsObject.fillPie" href="#gdipgraphicsObject.fillPie">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.fillPie(brush,x,y,width,height,startAngle,sweepAngle) <a id="gdipgraphicsObject.fillPie" href="#gdipgraphicsObject.fillPie">&#x23;</a>
填充扇形、或椭圆  
startAngle:起始角度,以度为单位从X轴顺时针测量,水平线右侧为0度,  
sweepAngle:startAngle和弧线末尾之间的扫描角度

### gdipgraphicsObject.fillPolygon <a id="gdipgraphicsObject.fillPolygon" href="#gdipgraphicsObject.fillPolygon">&#x23;</a>
填充多边形

### gdipgraphicsObject.fillPolygon() <a id="gdipgraphicsObject.fillPolygon" href="#gdipgraphicsObject.fillPolygon">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.fillPolygon(brush,fillMode,points...) <a id="gdipgraphicsObject.fillPolygon" href="#gdipgraphicsObject.fillPolygon">&#x23;</a>
填充多边形。  
- 参数 @brush 指定画刷对象对象 。  
参数 @fillMode 可用 _gdipFillMode 前缀数值常量指定填充方式，留空设为默认。  
- 参数 @points 可指定多边形经过的多个坐标点（可指定一个数组或展开为多个参数）。  
每个坐标点可以是 :: POINTF 创建的格式为 `{float x, float y}` 的结构体。  
至少要指定两个坐标点

### gdipgraphicsObject.fillPolygon(brush,fillMode,x1,y1,x2,y2...) <a id="gdipgraphicsObject.fillPolygon" href="#gdipgraphicsObject.fillPolygon">&#x23;</a>
填充多边形。  
- 参数 @brush 指定画刷对象对象 。  
参数 @fillMode 可用 _gdipFillMode 前缀数值常量指定填充方式，留空设为默认。  
- 参数 @3 可指定多边形经过的多个坐标点（可指定一个数组或展开为多个参数）。  
用成对的数值表示单个坐标点，例如 `x1,y1` 每表示第一个坐标点。  
至少要指定两个坐标点

### gdipgraphicsObject.fillPolygon(brush,points,fillMode) <a id="gdipgraphicsObject.fillPolygon" href="#gdipgraphicsObject.fillPolygon">&#x23;</a>
填充多边形。  
- 参数 @points 用一个数组指定多边形经过的多个坐标点。  
数组元素可以是 :: POINTF 创建的格式为 `{float x, float y}` 的结构体，  
也可以是普通数值（每对数值表示一个坐标点，例如 `[x1,y1,x2,y2]`）。  
- 参数 @fillMode 可选使用 _gdipFillMode 前缀的数值常量指定填充方式，可省略。

### gdipgraphicsObject.fillRectangle <a id="gdipgraphicsObject.fillRectangle" href="#gdipgraphicsObject.fillRectangle">&#x23;</a>
填充方块

### gdipgraphicsObject.fillRectangle() <a id="gdipgraphicsObject.fillRectangle" href="#gdipgraphicsObject.fillRectangle">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.fillRectangle(brush,rect) <a id="gdipgraphicsObject.fillRectangle" href="#gdipgraphicsObject.fillRectangle">&#x23;</a>
填充方块  
参数 @pen 为 gdip.pen 对象，  
参数 @rect 可指定 ::RECT 或 RECTF 结构体。

### gdipgraphicsObject.fillRectangle(brush,x1,y1,width,height) <a id="gdipgraphicsObject.fillRectangle" href="#gdipgraphicsObject.fillRectangle">&#x23;</a>
填充方块  
参数 @pen 为 gdip.pen 对象，  
参数 @x1,@y1 为坐标，  
@width 为宽度，  
@height 为高度

### gdipgraphicsObject.fillRoundRect <a id="gdipgraphicsObject.fillRoundRect" href="#gdipgraphicsObject.fillRoundRect">&#x23;</a>
填充圆角矩形。  
使用此函数前必须导入 gdip.path 库（plus 控件已默认导入）。  

此函数内部调用临时的 gdip.path 对象，  
并利用其 addRoundRect 创建圆角矩形足径。  
如果需要重用路径对象请直接使用 gdip.path 。

### gdipgraphicsObject.fillRoundRect(brush,rect,radius) <a id="gdipgraphicsObject.fillRoundRect" href="#gdipgraphicsObject.fillRoundRect">&#x23;</a>
填充圆角矩形。  

- 参数 @brush 指定笔刷对象（ gdip.solidBrush 等对象）。  
- 参数 @rect 可指定 ::RECT 或 ::RECTF 结构体。  
- 参数 @radius 指定圆角大小。

### gdipgraphicsObject.fillRoundRect(brush,x,y,width,height,radius) <a id="gdipgraphicsObject.fillRoundRect" href="#gdipgraphicsObject.fillRoundRect">&#x23;</a>
填充圆角矩形。  

- 参数 @brush 指定笔刷对象（ gdip.solidBrush 等对象）。  
- 参数 x,y 指定左上角坐标，width,height 指定宽高。  
- 参数 @radius 指定圆角大小。

### gdipgraphicsObject.getClipBounds() <a id="gdipgraphicsObject.getClipBounds" href="#gdipgraphicsObject.getClipBounds">&#x23;</a>
获取画板对象的剪切区域，返回 ::RECTF 结构体。  
表示纯粹的用户剪切区域边界（不考虑窗口或设备限制）。  
未设置剪切区域时默认返回一个无限大的边界矩形。  

[返回对象:rectfObject](https://www.aardio.com/zh-cn/docs/library-reference/gdip/core.html#rectfObject)

### gdipgraphicsObject.getDc() <a id="gdipgraphicsObject.getDc" href="#gdipgraphicsObject.getDc">&#x23;</a>
返回GDI兼容设备句柄  
注意返回的句柄一定要调用releaseDc函数释放

### gdipgraphicsObject.getDpi() <a id="gdipgraphicsObject.getDpi" href="#gdipgraphicsObject.getDpi">&#x23;</a>
返回设备DPI  
默认为96,96

### gdipgraphicsObject.getVisibleClipBounds() <a id="gdipgraphicsObject.getVisibleClipBounds" href="#gdipgraphicsObject.getVisibleClipBounds">&#x23;</a>
获取画板对象的可见剪切区域，返回 ::RECTF 结构体。  
表示用户剪切区域与当前窗口/设备可见区域的交集。  
默认返回当前窗口/控件的客户区大小（或当前无效需要重绘的矩形）。  

[返回对象:rectfObject](https://www.aardio.com/zh-cn/docs/library-reference/gdip/core.html#rectfObject)

### gdipgraphicsObject.interpolationMode <a id="gdipgraphicsObject.interpolationMode" href="#gdipgraphicsObject.interpolationMode">&#x23;</a>

```aardio
gdipgraphicsObject.interpolationMode = _GdipInterpolationMode/*放大缩小时使用的插值模式。*/ ;
```

### gdipgraphicsObject.measureString <a id="gdipgraphicsObject.measureString" href="#gdipgraphicsObject.measureString">&#x23;</a>
计算输出文本区块

### gdipgraphicsObject.measureString() <a id="gdipgraphicsObject.measureString" href="#gdipgraphicsObject.measureString">&#x23;</a>
[返回对象:rectfObject](https://www.aardio.com/zh-cn/docs/library-reference/gdip/core.html#rectfObject)

### gdipgraphicsObject.measureString(str,theFont,layoutRect,stringFormat) <a id="gdipgraphicsObject.measureString" href="#gdipgraphicsObject.measureString">&#x23;</a>
计算输出文本区块  
@str 要计算的字符串  
@theFont 字体，gdip.font 对象  
@layoutRect 可选指定 ::RECTF 结构体，默认设为可见剪切区域。  
@stringFormat 可选指定一个 gdip.stringFormat 文本格式对象  

返回值 boundingBox RECTF 结构体，表示围绕输出字符串的边界  
返回值 codepointsFitted 输出字符数  
返回值 linesFilled 输出行数

### gdipgraphicsObject.pageUnit <a id="gdipgraphicsObject.pageUnit" href="#gdipgraphicsObject.pageUnit">&#x23;</a>

```aardio
gdipgraphicsObject.pageUnit = _GdipUnit/*页面单位,例如打印时指定_UnitPixel则使用像素作为单位*/ ;
```

### gdipgraphicsObject.pixelOffsetMode <a id="gdipgraphicsObject.pixelOffsetMode" href="#gdipgraphicsObject.pixelOffsetMode">&#x23;</a>

```aardio
gdipgraphicsObject.pixelOffsetMode = _GdipPixelOffsetMode/*像素偏移模式*/;
```

### gdipgraphicsObject.releaseDc(hdc) <a id="gdipgraphicsObject.releaseDc" href="#gdipgraphicsObject.releaseDc">&#x23;</a>
释放GDI兼容设备句柄

### gdipgraphicsObject.resetClip() <a id="gdipgraphicsObject.resetClip" href="#gdipgraphicsObject.resetClip">&#x23;</a>
取消剪辑   

[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.resetTransform() <a id="gdipgraphicsObject.resetTransform" href="#gdipgraphicsObject.resetTransform">&#x23;</a>
将画板的世界变换直接重置为单位矩阵。  
此方法不会恢复先前状态，并会丢弃调用方或绘图事件预先设置的世界变换。  
临时使用 scale、rotate、translate 等局部变换时，优先用 save 与 restore 成对隔离。  

[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.restore(备份状态索引) <a id="gdipgraphicsObject.restore" href="#gdipgraphicsObject.restore">&#x23;</a>
恢复画板到指定状态。  
状态索引可指定 save 函数的返回值，省略则取最后一个画板状态备份。  
每个备份状态只会被恢复一次，在它后面的其他备份也将被丢弃。  
省略参数时取的`最后一个画板状态备份`总是指向有效备份而非被丢弃的备份。  
restore 会同时恢复变换、剪切区域与绘图质量等状态。  
因此 save 方法与 restore 方法应当严格配对使用，谁备份谁恢复。

### gdipgraphicsObject.restoreTransform() <a id="gdipgraphicsObject.restoreTransform" href="#gdipgraphicsObject.restoreTransform">&#x23;</a>
恢复调用 saveTransform 方法保存的画板状态（变换、剪切区域和绘图质量设置）。  
saveTransform 方法与 restoreTransform 必须成对调用。  
新代码需要局部隔离状态时优先使用 save 与 restore。

### gdipgraphicsObject.rotate <a id="gdipgraphicsObject.rotate" href="#gdipgraphicsObject.rotate">&#x23;</a>
旋转画布

### gdipgraphicsObject.rotate() <a id="gdipgraphicsObject.rotate" href="#gdipgraphicsObject.rotate">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.rotate(旋转角度,选项) <a id="gdipgraphicsObject.rotate" href="#gdipgraphicsObject.rotate">&#x23;</a>
以左上角坐标为参考点旋转画布  
参数 @2 可省略,选项默认为 _GdipMatrixOrderPrepend

### gdipgraphicsObject.rotateRect <a id="gdipgraphicsObject.rotateRect" href="#gdipgraphicsObject.rotateRect">&#x23;</a>
旋转画布

### gdipgraphicsObject.rotateRect(rect,angle,order) <a id="gdipgraphicsObject.rotateRect" href="#gdipgraphicsObject.rotateRect">&#x23;</a>
以 @rect 指定的区块中点为参考点旋转画布，  
@rect 参数可用 ::RECT 结构体指定区块位置。  
参数 @angle 为旋转角度，省略或传 null 值则设为 0。  
参数 @order 可省略,选项默认为 _GdipMatrixOrderPrepend

### gdipgraphicsObject.save() <a id="gdipgraphicsObject.save" href="#gdipgraphicsObject.save">&#x23;</a>
备份画板的变换、剪切区域与绘图质量等完整状态，并返回状态索引。  
局部变换推荐写为 `var state=graphics.save(); ... graphics.restore(state);`，避免 resetTransform 丢弃调用方已有的世界变换。

### gdipgraphicsObject.saveTransform() <a id="gdipgraphicsObject.saveTransform" href="#gdipgraphicsObject.saveTransform">&#x23;</a>
保存画板的当前状态（变换、剪切区域和绘图质量设置）。  
稍后可以通过调用 restoreTransform 方法还原状态。  
新代码需要局部隔离状态时优先使用可返回状态索引的 save 与 restore。

### gdipgraphicsObject.scale <a id="gdipgraphicsObject.scale" href="#gdipgraphicsObject.scale">&#x23;</a>
缩放画布

### gdipgraphicsObject.scale() <a id="gdipgraphicsObject.scale" href="#gdipgraphicsObject.scale">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.scale(宽度缩放比例,高度缩放比例,选项) <a id="gdipgraphicsObject.scale" href="#gdipgraphicsObject.scale">&#x23;</a>
缩放画布  
参数 @3 可省略,默认为 _GdipMatrixOrderPrepend

### gdipgraphicsObject.scaleRect <a id="gdipgraphicsObject.scaleRect" href="#gdipgraphicsObject.scaleRect">&#x23;</a>
居中缩放画布

### gdipgraphicsObject.scaleRect() <a id="gdipgraphicsObject.scaleRect" href="#gdipgraphicsObject.scaleRect">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.scaleRect(区块,宽度缩放比例,高度缩放比例,选项) <a id="gdipgraphicsObject.scaleRect" href="#gdipgraphicsObject.scaleRect">&#x23;</a>
在参数 @1 中使用::RECT结构体指定区块，并以该区块的中点为中心缩放画布  
参数@3可省略,默认为 _GdipMatrixOrderPrepend

### gdipgraphicsObject.setClipPath() <a id="gdipgraphicsObject.setClipPath" href="#gdipgraphicsObject.setClipPath">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.setClipPath(路径对象,选项 <a id="gdipgraphicsObject.setClipPath" href="#gdipgraphicsObject.setClipPath">&#x23;</a>
设置剪切路径  
选项默认为 _GdipCombineModeReplace

### gdipgraphicsObject.setClipRect() <a id="gdipgraphicsObject.setClipRect" href="#gdipgraphicsObject.setClipRect">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.setClipRect(rect,combineMode) <a id="gdipgraphicsObject.setClipRect" href="#gdipgraphicsObject.setClipRect">&#x23;</a>
设置一块剪辑区域，用于限制绘图范围  
- 参数 @rect 可指定 ::RECT 或 ::RECTF 结构体  
- 参数 @combineMode 可选使用 _GdipCombineMode__ 前缀的常量指定选项

### gdipgraphicsObject.setClipRect(x,y,width,height,combineMode) <a id="gdipgraphicsObject.setClipRect" href="#gdipgraphicsObject.setClipRect">&#x23;</a>
设置一块剪辑区域，用于限制绘图范围。  
- 参数 x,y 指定剪辑区域左上角坐标。  
- 参数 width,Height 指定剪辑区域宽高。  
- 参数 @combineMode 可选使用 _GdipCombineMode__ 前缀的常量指定选项

### gdipgraphicsObject.setClipRegion(region,combineMode) <a id="gdipgraphicsObject.setClipRegion" href="#gdipgraphicsObject.setClipRegion">&#x23;</a>
设置一块剪辑区域，用于限制绘图范围。  
参数 @region 指定 gdip.region 区域对象。  
参数 @combineMode 可指定为 _GdipCombineMode 前缀的常量

### gdipgraphicsObject.smoothingMode <a id="gdipgraphicsObject.smoothingMode" href="#gdipgraphicsObject.smoothingMode">&#x23;</a>

```aardio
gdipgraphicsObject.smoothingMode = _GdipSmoothingMode/*平滑模式,可用于抗锯齿, 文本抗锯齿请使用textRenderingHint*/;
```

### gdipgraphicsObject.textRenderingHint <a id="gdipgraphicsObject.textRenderingHint" href="#gdipgraphicsObject.textRenderingHint">&#x23;</a>

```aardio
gdipgraphicsObject.textRenderingHint = _GdipTextRenderingHint/*文本的呈现模式,可用于抗锯齿*/;
```

### gdipgraphicsObject.transform() <a id="gdipgraphicsObject.transform" href="#gdipgraphicsObject.transform">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.transform(变换模式,图像,RECT区块,x,y) <a id="gdipgraphicsObject.transform" href="#gdipgraphicsObject.transform">&#x23;</a>
变换画布  
变换以后必须假定画布左上角坐标为0,画布大小为图像大小,  
变换模式为字符串参数,支持 point,stretch,center,scale,含义与 plus 控件相同  
模式为"expand"时转换为"stretch",传入其他模式忽略并返回null，  
否则执行变换并返回画布对像自身,  

如果指定了point模式,必须同时指定x,y参数,用法与plus控件相同。  
可用 ::RECT 结构体指定 RECT 区块参数

### gdipgraphicsObject.translate <a id="gdipgraphicsObject.translate" href="#gdipgraphicsObject.translate">&#x23;</a>
水平偏移画布

### gdipgraphicsObject.translate() <a id="gdipgraphicsObject.translate" href="#gdipgraphicsObject.translate">&#x23;</a>
[返回对象:gdipgraphicsObject](#gdipgraphicsObject)

### gdipgraphicsObject.translate(水平偏移像素,垂直偏移像素,选项) <a id="gdipgraphicsObject.translate" href="#gdipgraphicsObject.translate">&#x23;</a>
平移画布  
参数 @3 可省略,默认为 _GdipMatrixOrderPrepend

## graphics 成员列表 <a id="graphics" href="#graphics">&#x23;</a>

该变量名仅适用于表示gdip.graphics对象  

[返回对象:gdipgraphicsObject](#gdipgraphicsObject)
