GS1数据库全方位条形码符号
总代码:
*创建条形码阅读器
*设置条形码的最小宽度像素为1.5
create_bar_code_model ('element_size_min', 1.5, BarCodeHandle)
*初始化
dev_close_window ()
dev_open_window (0, 0, 360, 256, 'black', WindowHandle)
dev_set_draw ('margin')
dev_set_color ('green')
dev_set_line_width (3)
set_display_font (WindowHandle, 14, 'mono', 'true', 'false')
*读条形码
for I := 1 to 2 by 1
*读取图片
read_image (Image, 'barcode/gs1databar_omnidir/gs1databar_omnidir_' + I$'.2d')
*显示图片
dev_display (Image)
*寻找条形码
find_bar_code (Image, SymbolRegions, BarCodeHandle, 'GS1 DataBar Omnidir', DecodedDataStrings)
*访问区域的运行长度编码。
get_region_runs (SymbolRegions, Row, ColumnBegin, ColumnEnd)
dev_display (SymbolRegions)
*显示信息
disp_message (WindowHandle, DecodedDataStrings, 'window', 12, 12, 'black', 'true')
if (I < 2)
disp_continue_message (WindowHandle, 'black', 'true')
stop ()
endif
endfor
*
*释放条形码阅读器分配的内存
clear_bar_code_model (BarCodeHandle)
逐段分析:
*创建条形码阅读器
*设置条形码的最小宽度像素为1.5
create_bar_code_model ('element_size_min', 1.5, BarCodeHandle)
*初始化
dev_close_window ()
dev_open_window (0, 0, 360, 256, 'black', WindowHandle)
dev_set_draw ('margin')
dev_set_color ('green')
dev_set_line_width (3)
set_display_font (WindowHandle, 14, 'mono', 'true', 'false')
*读条形码
for I := 1 to 2 by 1
*读取图片
read_image (Image, 'barcode/gs1databar_omnidir/gs1databar_omnidir_' + I$'.2d')
*显示图片
dev_display (Image)
*寻找条形码
find_bar_code (Image, SymbolRegions, BarCodeHandle, 'GS1 DataBar Omnidir', DecodedDataStrings)
*访问区域的运行长度编码。
get_region_runs (SymbolRegions, Row, ColumnBegin, ColumnEnd)
dev_display (SymbolRegions)
*显示信息
disp_message (WindowHandle, DecodedDataStrings, 'window', 12, 12, 'black', 'true')
if (I < 2)
disp_continue_message (WindowHandle, 'black', 'true')
stop ()
endif
endfor
*释放条形码阅读器分配的内存
clear_bar_code_model (BarCodeHandle)
get_region_runs-访问区域的运行长度编码
运算符get_region_runs以和弦元组的形式返回区域数据。和弦表示法是通过逐行检查一个区域,并使用升序行号(=从“顶部”到“底部”)来实现的。每行从左向右传递(列号升序);存储区域段(=和弦)的所有起点和终点。因此,一个区域可以用一系列和弦来描述,和弦由行号、起点和终点(列号)来定义。运算符get_region_runs以元组的形式返回和弦的三个分量。如果区域为空,则返回三个空元组。