先简单介绍一下的汉信码,基本上和QRCode即二维码大差不差,可但是,二维码一般扫描出来是非中文的字符串(一般为链接),这就是汉信码区别于二维码的地方,汉信码是涵盖中文的,而且是国家自主研发非骗经费项目,虽然没有推广起来但是还是很好用的。其官网为:http://cscode.gs1cn.org/
简约而不简单的网站,大家可以看一下,在此提供一个样例:
接下来开始结合文档开始集成汉信数码识别
鉴于文档如此简洁好知道了函数需要传入一个图片的进屋字符类型数据
于是乎第一步转化灰度图片
-(用户界面图像*)getGrayImage: sourceImage(用户界面图像*) { ,,,int width =, sourceImage.size.width; ,,,int height =, sourceImage.size.height; ,,,CGColorSpaceRef colorSpace =, CGColorSpaceCreateDeviceGray (); ,,,CGContextRef context =, CGBitmapContextCreate (nil, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,宽度, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,//,bits per 组件 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,色彩, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,kCGImageAlphaNone); ,,,CGColorSpaceRelease(色彩); ,,,if (context ==, NULL), { ,,,,,,,return 零; ,,,} ,,,CGContextDrawImage(上下文, ,,,,,,,,,,,,,,,,,,,,,,CGRectMake(0, 0,宽度,高度),,sourceImage.CGImage); ,,,UIImage * grayImage =, (UIImage p_w_picpathWithCGImage: CGBitmapContextCreateImage(上下文)];,, ,,,CGContextRelease(上下文); ,,,return grayImage; }
第二步拿到灰度图片转为一维数组数据
+,(unsigned char *), convertUIImageToBitmapRGBA8: (UIImage *), p_w_picpath { ,,,, ,,,CGImageRef p_w_picpathRef =, p_w_picpath.CGImage; ,,,, ,,,//,Create a bitmap context 用draw 从而uip_w_picpath ,,,CGContextRef context =, [self newBitmapRGBA8ContextFromImage p_w_picpathRef):; ,,,, ,,,如果上下文(!),{ ,,,,,,,return 零; ,,,} ,,,, ,,,size_t width =, CGImageGetWidth (p_w_picpathRef); ,,,size_t height =, CGImageGetHeight (p_w_picpathRef); ,,,, null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null汉信码在iOS客户端中的应用和遇到的坑