drawing_canvas.h

概述

文件中定义了与画布相关的功能函数。

引用文件:<native_drawing/drawing_canvas.h>

库: libnative_drawing.so

起始版本: 8

相关模块:Drawing

汇总

枚举

名称 描述
OH_Drawing_CanvasClipOp {
DIFFERENCE, INTERSECT
}
画布裁剪方式的枚举集合。

函数

名称 描述
OH_Drawing_Canvas * OH_Drawing_CanvasCreate (void) 用于创建一个画布对象。
void OH_Drawing_CanvasDestroy (OH_Drawing_Canvas *) 用于销毁画布对象并回收该对象占有的内存。
void OH_Drawing_CanvasBind (OH_Drawing_Canvas *, OH_Drawing_Bitmap *) 用于将一个位图对象绑定到画布中,使得画布绘制的内容输出到位图中(即CPU渲染)。
void OH_Drawing_CanvasAttachPen (OH_Drawing_Canvas *, const OH_Drawing_Pen *) 用于设置画笔给画布,画布将会使用设置画笔的样式和颜色去绘制图形形状的轮廓。
void OH_Drawing_CanvasDetachPen (OH_Drawing_Canvas *) 用于去除掉画布中的画笔,使用后画布将不去绘制图形形状的轮廓。
void OH_Drawing_CanvasAttachBrush (OH_Drawing_Canvas *, const OH_Drawing_Brush *) 用于设置画刷给画布,画布将会使用设置的画刷样式和颜色去填充绘制的图形形状。
void OH_Drawing_CanvasDetachBrush (OH_Drawing_Canvas *) 用于去除掉画布中的画刷,使用后画布将不去填充图形形状。
void OH_Drawing_CanvasSave (OH_Drawing_Canvas *) 用于保存当前画布的状态(画布矩阵)到一个栈顶。
void OH_Drawing_CanvasRestore (OH_Drawing_Canvas *) 用于恢复保存在栈顶的画布状态(画布矩阵)。
uint32_t OH_Drawing_CanvasGetSaveCount (OH_Drawing_Canvas *) 用于获取栈中保存的画布状态(画布矩阵)的数量。
void OH_Drawing_CanvasRestoreToCount (OH_Drawing_Canvas *, uint32_t saveCount) 用于恢复到指定数量的画布状态(画布矩阵)。
void OH_Drawing_CanvasDrawLine (OH_Drawing_Canvas *, float x1, float y1, float x2, float y2) 用于画一条直线段。
void OH_Drawing_CanvasDrawPath (OH_Drawing_Canvas *, const OH_Drawing_Path *) 用于画一个自定义路径。
void OH_Drawing_CanvasDrawBitmap (OH_Drawing_Canvas *, const OH_Drawing_Bitmap *, float left, float top) 用于画一个位图,位图又称为点阵图像、像素图或栅格图像,是由像素(图片元素)的单个点组成。
void OH_Drawing_CanvasDrawRect (OH_Drawing_Canvas *, const OH_Drawing_Rect *) 用于画一个矩形。
void OH_Drawing_CanvasDrawCircle (OH_Drawing_Canvas *, const OH_Drawing_Point *, float radius) 用于画一个圆形。
void OH_Drawing_CanvasDrawOval (OH_Drawing_Canvas *, const OH_Drawing_Rect *) 用于画一个椭圆。
void OH_Drawing_CanvasDrawArc (OH_Drawing_Canvas *, const OH_Drawing_Rect *, float startAngle, float sweepAngle) 用于画一个弧。
void OH_Drawing_CanvasDrawRoundRect (OH_Drawing_Canvas *, const OH_Drawing_RoundRect *) 用于画一个圆角矩形。
void OH_Drawing_CanvasDrawTextBlob (OH_Drawing_Canvas *, const OH_Drawing_TextBlob *, float x, float y) 用于画一段文字。
void OH_Drawing_CanvasClipRect (OH_Drawing_Canvas *, const OH_Drawing_Rect *, OH_Drawing_CanvasClipOp clipOp, bool doAntiAlias) 用于裁剪一个矩形。
void OH_Drawing_CanvasClipPath (OH_Drawing_Canvas *, const OH_Drawing_Path *, OH_Drawing_CanvasClipOp clipOp, bool doAntiAlias) 用于裁剪一个自定义路径。
void OH_Drawing_CanvasRotate (OH_Drawing_Canvas *, float degrees, float px, float py) 用于画布旋转一定的角度,正数表示顺时针旋转,负数反之。
void OH_Drawing_CanvasTranslate (OH_Drawing_Canvas *, float dx, float dy) 用于平移画布一段距离。
void OH_Drawing_CanvasScale (OH_Drawing_Canvas *, float sx, float sy) 用于画布缩放。
void OH_Drawing_CanvasClear (OH_Drawing_Canvas *, uint32_t color) 用于使用指定颜色去清空画布。