资源简介
EAN13条码生成,可以用于嵌入式相关设备开发(内部包含一套EAN13码生成代码+BMP文件生成代码),采用C语言,属于半原创吧[大部分代码是百度获取,作者不详,本人结合相关接口实现自己所需要的功能],采用VS2010工程,生成EAN13码(BMP文件格式),里面还包含一些自己收集的相关资料,现分享给大家,希望能帮助到一些朋友。
代码片段和文件信息
/**
* EAN13 Barcode Generator
* Creates a boolean array corresponding to the EAN13 barcode for a string of
* 12 numeric only characters.
* From: https://github.com/ryankurte/ean13
* based on: https://github.com/astrokin/EAN13BarcodeGenerator
*
* The MIT License (MIT)
*
* Copyright (c) 2015 Ryan Kurte
*
* Permission is hereby granted free of charge to any person obtaining a copy
* of this software and associated documentation files (the “Software“) to deal
* in the Software without restriction including without limitation the rights
* to use copy modify merge publish distribute sublicense and/or sell
* copies of the Software and to permit persons to whom the Software is
* furnished to do so subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED “AS IS“ WITHOUT WARRANTY OF ANY KIND EXPRESS OR
* IMPLIED INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM DAMAGES OR OTHER
* LIABILITY WHETHER IN AN ACTION OF CONTRACT TORT OR OTHERWISE ARISING FROM
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include
#include “ean13\ean13.h“
#include “BMP\BMP.h“\
#define snprintf _snprintf
#define BAR_HEIGHT_VAL 50 // 临时值
#define INPUT_MAX 15 // 暂定最大值
/*
生成EAN13图片(BMP)
data EAN13数据
len 长度
*/
int ean13_bmp_creat(unsigned char *data unsigned char len)
{
unsigned char i;
unsigned char j;
int ret = -1;
ST_BITMAP *bitmap_handle;
bitmap_handle = st_g_CreateBitmap(len BAR_HEIGHT_VAL 24);
if (NULL != bitmap_handle)
{
ret = 0;
for (i = 0; i < len; i++)
{
for (j = 0; j < BAR_HEIGHT_VAL; j++)
{
if (0 != data[i])
{
vd_SetBitmapPixel(bitmap_handle i j BMP_RGB24(0 0 0)); // 黑色
}
else
{
vd_SetBitmapPixel(bitmap_handle i j BMP_RGB24(255 255 255)); // 白色
}
}
}
vd_g_SaveBitmap(bitmap_handle “test.bmp“);
vd_g_FreeBitmap(bitmap_handle);
}
return ret;
}
/*
生成EAN13图片(只生成条码,不包含以下数字等,默认:宽度为113个像素点,高度为50个像素点)
data EAN13数据
len 长度
*/
int ean13_pic_creat(unsigned char *data unsigned char len)
{
unsigned char ean_size;
unsigned char *buf = NULL;
int ret = -1;
ean_size = EAN13_width();
buf = (unsigned char *)malloc(ean_size);
if (NULL == buf)
{
return ret;
}
ret = EAN13_build(data buf);
if (0 != ret)
{
free(buf);
return ret;
}
ret = ean13_bmp_creat(buf ean_size);
free(buf);
return ret;
}
/*
注:输入的12位数据第一位将被重新计算,可能与输入的不同,将在12位之后增加1位校验码
*/
int main(void)
{
int ret = -1;
char data[INPUT_MAX + 1] = {0};
char format_strint[20] = {0};
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 136104 2019-09-14 23:12 条形码\EAN13\EAN码.docx
文件 5518 2019-09-14 17:53 条形码\EAN13\Project\source\BMP\BMP.c
文件 1109 2019-09-14 16:54 条形码\EAN13\Project\source\BMP\BMP.h
文件 5328 2019-09-14 22:03 条形码\EAN13\Project\source\ean13\ean13.c
文件 1768 2019-09-14 22:00 条形码\EAN13\Project\source\ean13\ean13.h
文件 590 2019-09-14 22:20 条形码\EAN13\Project\source\ean13\stdbool.h
文件 3444 2019-09-14 23:08 条形码\EAN13\Project\source\main.c
文件 33280 2019-09-14 23:08 条形码\EAN13\Project\VC\ean13\Debug\ean13.exe
文件 349752 2019-09-14 23:08 条形码\EAN13\Project\VC\ean13\Debug\ean13.ilk
文件 429056 2019-09-14 23:08 条形码\EAN13\Project\VC\ean13\Debug\ean13.pdb
文件 11830 2019-09-14 22:33 条形码\EAN13\Project\VC\ean13\ean13\Debug\BMP.obj
文件 2178 2019-09-14 23:08 条形码\EAN13\Project\VC\ean13\ean13\Debug\cl.command.1.tlog
文件 3974 2019-09-14 23:08 条形码\EAN13\Project\VC\ean13\ean13\Debug\CL.read.1.tlog
文件 2154 2019-09-14 23:08 条形码\EAN13\Project\VC\ean13\ean13\Debug\CL.write.1.tlog
文件 406 2019-09-14 22:05 条形码\EAN13\Project\VC\ean13\ean13\Debug\ean13.exe.em
文件 472 2019-09-14 22:05 条形码\EAN13\Project\VC\ean13\ean13\Debug\ean13.exe.em
文件 381 2019-09-14 23:08 条形码\EAN13\Project\VC\ean13\ean13\Debug\ean13.exe.intermediate.manifest
文件 98 2019-09-14 23:08 条形码\EAN13\Project\VC\ean13\ean13\Debug\ean13.lastbuildstate
文件 3651 2019-09-14 23:08 条形码\EAN13\Project\VC\ean13\ean13\Debug\ean13.log
文件 6881 2019-09-14 22:20 条形码\EAN13\Project\VC\ean13\ean13\Debug\ean13.obj
文件 713 2019-09-14 21:53 条形码\EAN13\Project\VC\ean13\ean13\Debug\ean13.vcxprojResolveAssemblyReference.cache
文件 0 2019-09-14 21:53 条形码\EAN13\Project\VC\ean13\ean13\Debug\ean13.write.1.tlog
文件 200 2019-09-14 22:05 条形码\EAN13\Project\VC\ean13\ean13\Debug\ean13_manifest.rc
文件 2 2019-09-14 23:08 条形码\EAN13\Project\VC\ean13\ean13\Debug\li
文件 2 2019-09-14 23:08 条形码\EAN13\Project\VC\ean13\ean13\Debug\li
文件 2 2019-09-14 23:08 条形码\EAN13\Project\VC\ean13\ean13\Debug\li
文件 2 2019-09-14 23:08 条形码\EAN13\Project\VC\ean13\ean13\Debug\li
文件 2 2019-09-14 23:08 条形码\EAN13\Project\VC\ean13\ean13\Debug\li
文件 2 2019-09-14 23:08 条形码\EAN13\Project\VC\ean13\ean13\Debug\li
文件 2 2019-09-14 23:08 条形码\EAN13\Project\VC\ean13\ean13\Debug\li
............此处省略42个文件信息
相关资源
- MFC画图板,可以画一些基本图形,如
- 基于MFC的bmp图像处理268237
- 计算BMP24位真彩色图像PSNR的C++小程序
- mfc打开并显示BMP图片
- VC打开多种图像格式bmpjpggiftifraw
- 24位BMP图像用C++实现平移、旋转、镜像
- VC6基于对话框的BMP灰度图片显示和轮
- 数字图像处理 MFC bmp格式图片打开与保
- DICOM图片转换BMP的C++代码
- VC实现虚拟打印机的框架源代码
- [毕业分享] MFC实现数字图像处理软件
- VC++单文档视图打开bmp图片
- 在内存中将bmp转JPG
- 条形码识别系统c语言版
- vc++调用usb摄像头,进行拍照,保存为
- Bmp2jpeg图片格式转换
- C语言读取BMP图像,并进行反色操作
- vs2013 c++ 条码 条形码 二维码识别 通
- BMP180气压计STM32例程+51例程+数据手册
- 经典数字图像测试图灰度图,jpg,b
- 图像直方图均衡算法的实现 bmp格式
- bmp24位彩色图像转8位灰度图像纯C++
- 用VC++实现打开并显示bmp图片
- C++生成二维码并保存成BMP图片
- MFC 图像处理之灰度直方图显示BMP图片
- MFC动态加载和静态加载bmp类型图片
- MFC显示BMP格式图片
- c++ 生成条形码代码
- vc++ 条形码 二维码 识别
- 基于MFC实现BMP的显示24色变灰
评论
共有 条评论