读取类型代码为128的条形码
总代码:
*创建模型
create_bar_code_model ([], [], BarCodeHandle)
dev_close_window ()
dev_open_window (0, 0, 600, 600, 'black', WindowHandle)
set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
dev_set_draw ('margin')
dev_set_color ('green')
dev_set_line_width (3)
for I := 1 to 3 by 1
read_image (Image, 'barcode/code128/code128' + (I$'.2'))
*调整图像窗口与图片一样大
dev_resize_window_fit_image (Image, 0, 0, -1, -1)
find_bar_code (Image, SymbolRegions, BarCodeHandle, 'Code 128', DecodedDataStrings)
*返回基本的解码参考数据
get_bar_code_result (BarCodeHandle, 0, 'decoded_reference', Reference)
String := ''
for J := 0 to strlen(DecodedDataStrings) - 1 by 1
if (ord(DecodedDataStrings{J}) < 32)
Char := '\\x' + ord(DecodedDataStrings{J})$'02x'
else
Char := DecodedDataStrings{J}
endif
String := String + Char
endfor
disp_message (WindowHandle, String, 'window', 12, 12, 'black', 'true')
if (I < 3)
disp_continue_message (WindowHandle, 'black', 'true')
stop ()
endif
endfor
* 清除模型
clear_bar_code_model (BarCodeHandle)
逐段分析:
*创建模型
create_bar_code_model ([], [], BarCodeHandle)
*关闭窗口
dev_close_window ()
dev_open_window (0, 0, 600, 600, 'black', WindowHandle)
set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
dev_set_draw ('margin')
dev_set_color ('green')
dev_set_line_width (3)
for I := 1 to 3 by 1
read_image (Image, 'barcode/code128/code128' + (I$'.2'))
*调整图像窗口与图片一样大
dev_resize_window_fit_image (Image, 0, 0, -1, -1)
![](https://i-blog.csdnimg.cn/blog_migrate/60a86e0997d879cc1e95da9bf95f6a49.png)
*返回基本的解码参考数据
get_bar_code_result (BarCodeHandle, 0, 'decoded_reference', Reference)
String := ''
for J := 0 to strlen(DecodedDataStrings) - 1 by 1
if (ord(DecodedDataStrings{J}) < 32)
Char := '\\x' + ord(DecodedDataStrings{J})$'02x'
else
Char := DecodedDataStrings{J}
endif
String := String + Char
endfor
disp_message (WindowHandle, String, 'window', 12, 12, 'black', 'true')
if (I < 3)
disp_continue_message (WindowHandle, 'black', 'true')
stop ()
endif
endfor
* 清除模型
clear_bar_code_model (BarCodeHandle)
![](https://i-blog.csdnimg.cn/blog_migrate/2ff8af76f26cf940c945a6d6300fc98c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e24fab2a5bbba79138f3641828581350.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4e75271840b088673813d05ca0576d40.png)
'decoded_reference':
返回基本的解码参考数据。它包括符号的所有原始字符,即数据字符、潜在的开始或停止字符以及检查字符(如果存在)。对于仅采用数字数据的代码,例如EAN/UPC代码、GS1数据库代码(GS1数据库扩展变体除外)或2/5代码,解码参考数据采用与解码字符串数据相同的值,包括检查字符。对于具有字母数字数据的代码,例如代码128或代码39,解码的参考数据是相应解码表的索引。对于GS1-128,参考值是解码数据的ASCII码(另见元组/字符串操作),其中特殊字符FNC1与值102一起出现。对于GS1 DataBar Expanded和GS1 DataBar Expanded Stacked,参考值是解码数据的ASCII码,其中特殊字符FNC1的值为29。此外,对于GS1 DataBar系列的所有代码,第一个参考值表示一个链接标志,如果设置了该标志,则其值为1,否则为0。由于解码引用是一个整数元组,因此只能对单个结果调用它,这意味着CandidateHandle必须是相应解码符号的句柄号。