# drawing_canvas.h## OverviewDeclares functions related to the **canvas** object in the drawing module.**Since:**8**Related Modules:**[Drawing](_drawing.md)## Summary### Functions| Name | Description | | -------- | -------- || [OH_Drawing_CanvasCreate](_drawing.md#oh_drawing_canvascreate)(void) | Creates an **OH_Drawing_Canvas** object. | | [OH_Drawing_CanvasDestroy](_drawing.md#oh_drawing_canvasdestroy)([OH_Drawing_Canvas](_drawing.md#oh_drawing_canvas)\*) | Destroys an **OH_Drawing_Canvas** object and reclaims the memory occupied by the object. | | [OH_Drawing_CanvasBind](_drawing.md#oh_drawing_canvasbind)([OH_Drawing_Canvas](_drawing.md#oh_drawing_canvas)\*, [OH_Drawing_Bitmap](_drawing.md#oh_drawing_bitmap)\*) | Binds a bitmap to a canvas so that the content drawn on the canvas is output to the bitmap (this process is called CPU rendering). | | [OH_Drawing_CanvasAttachPen](_drawing.md#oh_drawing_canvasattachpen)([OH_Drawing_Canvas](_drawing.md#oh_drawing_canvas)\*, const [OH_Drawing_Pen](_drawing.md#oh_drawing_pen)\*) | Attaches a pen to a canvas so that the canvas will use the style and color of the pen to outline a shape. | | [OH_Drawing_CanvasDetachPen](_drawing.md#oh_drawing_canvasdetachpen)([OH_Drawing_Canvas](_drawing.md#oh_drawing_canvas)\*) | Detaches the pen from a canvas so that the canvas will not use the style and color of the pen to outline a shape. | | [OH_Drawing_CanvasAttachBrush](_drawing.md#oh_drawing_canvasattachbrush)([OH_Drawing_Canvas](_drawing.md#oh_drawing_canvas)\*, const [OH_Drawing_Brush](_drawing.md#oh_drawing_brush)\*) | Attaches a brush to a canvas so that the canvas will use the style and color of the brush to fill in a shape. | | [OH_Drawing_CanvasDetachBrush](_drawing.md#oh_drawing_canvasdetachbrush)([OH_Drawing_Canvas](_drawing.md#oh_drawing_canvas)\*) | Detaches the brush from a canvas so that the canvas will not use the style and color of the brush to fill in a shape. | | [OH_Drawing_CanvasSave](_drawing.md#oh_drawing_canvassave)([OH_Drawing_Canvas](_drawing.md#oh_drawing_canvas)\*) | Saves the current canvas status (canvas matrix) to the top of the stack. | | [OH_Drawing_CanvasRestore](_drawing.md#oh_drawing_canvasrestore)([OH_Drawing_Canvas](_drawing.md#oh_drawing_canvas)\*) | Restores the canvas status (canvas matrix) saved on the top of the stack. | | [OH_Drawing_CanvasDrawLine](_drawing.md#oh_drawing_canvasdrawline)([OH_Drawing_Canvas](_drawing.md#oh_drawing_canvas)\*, float x1, float y1, float x2, float y2) | Draws a line segment. | | [OH_Drawing_CanvasDrawPath](_drawing.md#oh_drawing_canvasdrawpath)([OH_Drawing_Canvas](_drawing.md#oh_drawing_canvas)\*, const [OH_Drawing_Path](_drawing.md#oh_drawing_path)\*) | Draws a path. | | [OH_Drawing_CanvasClear](_drawing.md#oh_drawing_canvasclear)([OH_Drawing_Canvas](_drawing.md#oh_drawing_canvas)\*, uint32_t color) | Clears a canvas by using a specified color. |