Barcode(条形码)

显示原文

Barcode generation with LVGL. Uses code128 by fhunleth.


使用 LVGL 生成条形码。使用 code128 并由 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() 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_set_direction() 设置显示方向,再次调用 lv_barcode_update() 重新生成条形码。

Notes(笔记)

显示原文
  • It is best not to manually set the width of the barcode, because when the width of the Widget 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


  • 最好不要手动设置条形码的宽度,因为当 Widget 的宽度小于条形码的宽度时,由于截断,显示会不完整。

  • 缩放调整只能是整数倍,例如,lv_barcode_set_scale(barcode, 2) 意味着 2x 缩放。

  • 方向调整可以是 LV_DIR_HORLV_DIR_VER

Example

Create a Barcode

#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

API

code128.h

lv_types.h

lv_barcode.h