Barcode(条形码)
LVGL 生成条形码的功能,使用到了 fhunleth 的 code128 。
Usage(用法)
显示原文
Enable LV_USE_BARCODE
in lv_conf.h
.
Use lv_barcode_create()
to create a barcode object, and use
lv_barcode_update()
to generate a barcode.
Call lv_barcode_set_scale()
to adjust scaling,
call lv_barcode_set_dark_color()
and lv_barcode_set_light_color()
adjust color, call lv_barcode_set_direction()
will set
direction to display, and call lv_barcode_update()
again to regenerate
the barcode.
在 lv_conf.h
中启用 LV_USE_BARCODE
。
函数 lv_barcode_create()
用于创建条形码对象,函数 lv_barcode_update()
用于生成(刷新)条形码。
函数 lv_barcode_set_scale()
调整缩放,函数 lv_barcode_set_dark_color()
和 lv_barcode_set_light_color()
调整颜色,需要再次调用 lv_barcode_update()
以重新生成(刷新)条形码。
Notes(笔记)
显示原文
It is best not to manually set the width of the barcode, because when the width of the object is lower than the width of the barcode, the display will be incomplete due to truncation.
The scale adjustment can only be an integer multiple, for example, lv_barcode_set_scale(barcode, 2) means 2x scaling.
The direction adjustment can be
LV_DIR_HOR
orLV_DIR_VER
最好不要手动设置条形码的宽度,因为当 物体的宽度小于条形码的宽度, 由于截断,将得到不完整的条形码。
比例调整只能是整数倍,例如,lv_barcode_set_scale(条形码,2) 表示 2 倍缩放。
方向调整可以是
LV_DIR_HOR
或LV_DIR_VER
Example
Create a Barcode
C code
View on GitHub#include "../../lv_examples.h"
#if LV_USE_BARCODE && LV_BUILD_EXAMPLES
/**
* Create a Barcode
*/
void lv_example_barcode_1(void)
{
lv_color_t bg_color = lv_palette_lighten(LV_PALETTE_LIGHT_BLUE, 5);
lv_color_t fg_color = lv_palette_darken(LV_PALETTE_BLUE, 4);
lv_obj_t * barcode = lv_barcode_create(lv_screen_active());
lv_obj_set_height(barcode, 50);
lv_obj_center(barcode);
/*Set color*/
lv_barcode_set_dark_color(barcode, fg_color);
lv_barcode_set_light_color(barcode, bg_color);
/*Add a border with bg_color*/
lv_obj_set_style_border_color(barcode, bg_color, 0);
/*Set data*/
lv_barcode_update(barcode, "https://lvgl.io");
}
#endif