App:Library:LVGL:docs:Widgets:Canvas (lv canvas)
https://docs.lvgl.io/8.2/widgets/core/arc.html
Canvas (lv_canvas)
Overview
英文 | 自動翻訳 |
---|---|
A Canvas inherits from Image where the user can draw anything. Rectangles, texts, images, lines, arcs can be drawn here using lvgl's drawing engine. Additionally "effects" can be applied, such as rotation, zoom and blur. |
Canvasは、ユーザーが何でも描画できるImageから継承します。長方形、テキスト、画像、線、円弧は、lvglの描画エンジンを使用してここに描画できます。さらに、回転、ズーム、ぼかしなどの「効果」を適用できます。 |
Parts and Styles
英文 | 自動翻訳 |
---|---|
|
LV_PART_MAIN 一般的な長方形スタイルのプロパティと画像スタイルのプロパティを使用します。
|
Usage
Buffer
英文 | 自動翻訳 |
---|---|
The Canvas needs a buffer in which stores the drawn image. To assign a buffer to a Canvas, use Where For example,
See the full list in the Color formats section. |
Canvasには、描画された画像を格納するバッファが必要です。
Canvasにバッファを割り当てるには、
たとえば、
「カラーフォーマット」セクションの完全なリストを参照してください。 |
Indexed colors
英文 | 自動翻訳 |
---|---|
For It sets pixels with index=3 to red. |
LV_IMG_CF_INDEXED_1/2/4/8 のカラーフォーマットのためには、パレットはlv_canvas_set_palette(canvas, 3, LV_COLOR_RED) で初期化する必要があります。
index=3でピクセルを赤に設定します。 |
Drawing
英文 | 自動翻訳 |
---|---|
To set a pixel's color on the canvas, use
An array of pixels can be copied to the canvas with
For example, it's possible to draw a text to an |
キャンバスにピクセルの色を設定するには、lv_canvas_set_px_color(canvas, x, y, LV_COLOR_RED) を使用します。
色のインデックスで 例えば キャンバス上でピクセルの不透明度
ピクセルの配列は、を使用してキャンバスにコピーできます キャンバスに何かを描くには、
例えば、 |
Transformations
英文 | 自動翻訳 |
---|---|
Note that a canvas can't be rotated on itself. You need a source and destination canvas or image. |
lv_canvas_transform() 画像の画像を回転および/または拡大縮小し、結果をキャンバスに保存するために使用できます。この関数には次のパラメーターが必要です。
キャンバス自体は回転できないことに注意してください。ソースと宛先のキャンバスまたは画像が必要です。 |
Blur
英文 | 自動翻訳 |
---|---|
A given area of the canvas can be blurred horizontally with
|
キャンバスの特定の領域は、lv_canvas_blur_hor(canvas, &area, r) で水平方向に、またはlv_canvas_blur_ver(canvas, &area, r) で垂直方向にぼかすことができます。
|
Events
英文 | 自動翻訳 |
---|---|
No special events are sent by canvas objects. The same events are sent as for the See the events of the Images too. Learn more about Events. |
キャンバスオブジェクトから特別なイベントが送信されることはありません。と同じイベントが送信されます
画像のイベントもご覧ください。 イベントの詳細をご覧ください。 |
Keys
英文 | 自動翻訳 |
---|---|
No Keys are processed by the object type. Learn more about Keys. |
オブジェクトタイプによって処理される キーはありません。
キーの詳細をご覧ください。 |
Example
英文 | 自動翻訳 |
---|---|
Drawing on the Canvas and rotate |
|
Transparent Canvas with chroma keying |
API
英文 | 自動翻訳 |
---|---|
Functions lv_obj_t *lv_canvas_create(lv_obj_t *parent)
void lv_canvas_set_buffer(lv_obj_t *canvas, void *buf, lv_coord_t w, lv_coord_t h, lv_img_cf_t cf)
void lv_canvas_set_px_color(lv_obj_t *canvas, lv_coord_t x, lv_coord_t y, lv_color_t c)
static inline void lv_canvas_set_px(lv_obj_t *canvas, lv_coord_t x, lv_coord_t y, lv_color_t c)
void lv_canvas_set_px_opa(lv_obj_t *canvas, lv_coord_t x, lv_coord_t y, lv_opa_t opa)
void lv_canvas_set_palette(lv_obj_t *canvas, uint8_t id, lv_color_t c)
lv_color_t lv_canvas_get_px(lv_obj_t *canvas, lv_coord_t x, lv_coord_t y)
lv_img_dsc_t *lv_canvas_get_img(lv_obj_t *canvas)
void lv_canvas_copy_buf(lv_obj_t *canvas, const void *to_copy, lv_coord_t x, lv_coord_t y, lv_coord_t w, lv_coord_t h)
void lv_canvas_transform(lv_obj_t *canvas, lv_img_dsc_t *img, int16_t angle, uint16_t zoom, lv_coord_t offset_x, lv_coord_t offset_y, int32_t pivot_x, int32_t pivot_y, bool antialias)
void lv_canvas_blur_hor(lv_obj_t *canvas, const lv_area_t *area, uint16_t r)
void lv_canvas_blur_ver(lv_obj_t *canvas, const lv_area_t *area, uint16_t r)
void lv_canvas_fill_bg(lv_obj_t *canvas, lv_color_t color, lv_opa_t opa)
void lv_canvas_draw_rect(lv_obj_t *canvas, lv_coord_t x, lv_coord_t y, lv_coord_t w, lv_coord_t h, const lv_draw_rect_dsc_t *draw_dsc)
void lv_canvas_draw_text(lv_obj_t *canvas, lv_coord_t x, lv_coord_t y, lv_coord_t max_w, lv_draw_label_dsc_t *draw_dsc, const char *txt)
void lv_canvas_draw_img(lv_obj_t *canvas, lv_coord_t x, lv_coord_t y, const void *src, const lv_draw_img_dsc_t *draw_dsc)
void lv_canvas_draw_line(lv_obj_t *canvas, const lv_point_t points[], uint32_t point_cnt, const lv_draw_line_dsc_t *draw_dsc)
void lv_canvas_draw_polygon(lv_obj_t *canvas, const lv_point_t points[], uint32_t point_cnt, const lv_draw_rect_dsc_t *draw_dsc)
void lv_canvas_draw_arc(lv_obj_t *canvas, lv_coord_t x, lv_coord_t y, lv_coord_t r, int32_t start_angle, int32_t end_angle, const lv_draw_arc_dsc_t *draw_dsc)
Variables const lv_obj_class_t lv_canvas_class struct lv_canvas_t
|
lv_obj_t * lv_canvas_create(lv_obj_t * parent)
void lv_canvas_set_buffer(lv_obj_t * canvas、void * buf、lv_coord_t w、lv_coord_t h、lv_img_cf_t cf)
void lv_canvas_set_px_color(lv_obj_t * canvas、lv_coord_t x、lv_coord_t y、lv_color_t c)
static inline void lv_canvas_set_px(lv_obj_t * canvas、lv_coord_t x、lv_coord_t y、lv_color_t c)
void lv_canvas_set_px_opa(lv_obj_t * canvas、lv_coord_t x、lv_coord_t y、lv_opa_t opa)
void lv_canvas_set_palette(lv_obj_t * canvas、uint8_t id、lv_color_t c)
lv_color_t lv_canvas_get_px(lv_obj_t * canvas、lv_coord_t x、lv_coord_t y)
lv_img_dsc_t * lv_canvas_get_img(lv_obj_t * canvas)
void lv_canvas_copy_buf(lv_obj_t * canvas、const void * to_copy、lv_coord_t x、lv_coord_t y、lv_coord_t w、lv_coord_t h)
void lv_canvas_transform(lv_obj_t * canvas、lv_img_dsc_t * img、int16_t angle、uint16_t zoom、lv_coord_t offset_x、lv_coord_t offset_y、int32_tピボット_x、int32_tピボット_y、boolアンチエイリアス)
void lv_canvas_blur_hor(lv_obj_t * canvas、const lv_area_t * area、uint16_t r)
void lv_canvas_blur_ver(lv_obj_t * canvas、const lv_area_t * area、uint16_t r)
void lv_canvas_fill_bg(lv_obj_t * canvas、lv_color_t color、lv_opa_t opa)
void lv_canvas_draw_rect(lv_obj_t * canvas、lv_coord_t x、lv_coord_t y、lv_coord_t w、lv_coord_t h、const lv_draw_rect_dsc_t * draw_dsc)
void lv_canvas_draw_text(lv_obj_t * canvas、lv_coord_t x、lv_coord_t y、lv_coord_t max_w、lv_draw_label_dsc_t * draw_dsc、const char * txt)
void lv_canvas_draw_img(lv_obj_t * canvas、lv_coord_t x、lv_coord_t y、const void * src、const lv_draw_img_dsc_t * draw_dsc)
void lv_canvas_draw_line(lv_obj_t * canvas、const lv_point_t points []、uint32_t point_cnt、const lv_draw_line_dsc_t * draw_dsc)
void lv_canvas_draw_polygon(lv_obj_t * canvas、const lv_point_t points []、uint32_t point_cnt、const lv_draw_rect_dsc_t * draw_dsc)
void lv_canvas_draw_arc(lv_obj_t * canvas、lv_coord_t x、lv_coord_t y、lv_coord_t r、int32_t start_angle、int32_t end_angle、const lv_draw_arc_dsc_t * draw_dsc)
変数 const lv_obj_class_t lv_canvas_class struct lv_canvas_t
|