Barcode
Barcode generation with LVGL. Uses code128 by fhunleth.
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() or lv_barcode_set_dark / light_color() to adjust scaling and color, call lv_barcode_set_direction() will set direction to display, and call lv_barcode_update() again to regenerate the barcode.
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 or 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);
lv_obj_set_style_border_width(barcode, 5, 0);
/*Set data*/
lv_barcode_update(barcode, "https://lvgl.io");
}
#endif
#!/opt/bin/lv_micropython -i
import lvgl as lv
import display_driver
bg_color = lv.palette_lighten(lv.PALETTE.LIGHT_BLUE, 5)
fg_color = lv.palette_darken(lv.PALETTE.BLUE, 4)
barcode = lv.barcode(lv.screen_active())
barcode.set_height(50)
barcode.center()
# Set color
barcode.set_dark_color(fg_color)
barcode.set_light_color(bg_color)
# Add a border with bg_color
barcode.set_style_border_color(bg_color, 0)
barcode.set_style_border_width(5, 0)
# Set data
barcode.update("https://lvgl.io")