简介
本文档提供关于图片二维码相关的 API 概览以及 SDK 示例代码。
二维码识别
功能说明
数据万象二维码识别功能可识别图片中有效二维码的位置及内容,输出图像中二维码包含的文本信息(每个二维码对应的 URL 或文本),并可对识别出的二维码添加马赛克。
方法原型
func (s *CIService) GetQRcodeV2(ctx context.Context, name string, cover int, opt *ObjectGetOptions, id ...string) (*GetQRcodeResultV2, *Response, error)
请求示例1:上传时识别
opt := &cos.ObjectPutOptions{nil,&cos.ObjectPutHeaderOptions{XOptionHeader: &http.Header{},},}pic := &cos.PicOperations{IsPicInfo: 1,Rules: []cos.PicOperationsRules{{FileId: "format.jpg",Rule: "QRcode/cover/1",},},}opt.XOptionHeader.Add("Pic-Operations", cos.EncodePicOperations(pic))name := "test.jpg"filepath := "./QRcode.jpg"res, _, err := c.CI.PutFromFile(context.Background(), name, filepath, opt)
请求示例2:下载时识别
name := "test.jpg"res, _, err := c.CI.GetQRcodeV2(context.Background(), name, 1, nil)
参数说明
参数名称 | 参数描述 | 类型 | 必填 |
cover | 二维码覆盖功能,将对识别出的二维码覆盖上马赛克。取值为0或1。0表示不开启二维码覆盖,1表示开启二维码覆盖,默认值0 | int | 是 |
结果说明
下载时识别的结果返回如下
type GetQRcodeResultV2 struct {CodeStatus intQRcodeInfo []QRcodeInfoResultImage string}type QRcodeInfo struct {CodeUrl stringCodeLocation *CodeLocation}type CodeLocation struct {Point []string}
参数名称 | 参数描述 | 类型 |
CodeStatus | 二维码识别结果。0表示未识别到二维码,1表示识别到二维码 | int |
QRcodeInfo | 二维码识别结果,可能有多个 | Struct |
ResultImage | 处理后的图片 base64 数据,请求参数 cover 为1时返回 | string |
CodeUrl | 二维码的内容。可能识别不到内容 | string |
CodeLocation | 图中识别到的二维码位置坐标 | Struct |
Point | 二维码坐标点(X坐标,Y坐标) | Array |
二维码生成
功能说明
数据万象二维码生成功能可根据用户指定的文本信息(URL 或文本),生成对应的二维码或条形码。
方法原型
func (s *CIService) GenerateQRcode(ctx context.Context, opt *GenerateQRcodeOptions) (*GenerateQRcodeResult, *Response, error)func (s *CIService) GenerateQRcodeToFile(ctx context.Context, filePath string, opt *GenerateQRcodeOptions) (*GenerateQRcodeResult, *Response, error)
请求示例
opt := &cos.GenerateQRcodeOptions{QRcodeContent: "<https://www.example.com>"Mode: 0,Width: 200,}// Case1 生成二维码res, _, err := c.CI.GenerateQRcode(context.Background(), opt)// Case2 生成二维码,并保存成文件filepath := "example.jpg"res, _, err := c.CI.GenerateQRcodeToFile(context.Background(), filepath, opt)
参数说明
type GenerateQRcodeOptions struct {QRcodeContent stringMode intWidth int}
参数名称 | 参数描述 | 类型 | 是否必填 |
QRcodeContent | 可识别的二维码文本信息 | string | 是 |
Mode | 生成的二维码类型,可选值:0或1。0为二维码,1为条形码,默认值为0 | int | 否 |
Width | 指定生成的二维码或条形码的宽度,高度会进行等比压缩 | int | 是 |
结果说明
type GenerateQRcodeResult struct {ResultImage string}
参数名称 | 参数描述 | 类型 |
ResultImage | 二维码图片 base64 数据 | string |