调用万维易源API生成AI艺术二维码

目录

  • 1. 作者介绍
  • 2. 艺术二维码
    • 2.1 艺术二维码的作用
    • 2.2 艺术二维码的应用场景
    • 2.3调用万维易源API生成AI艺术二维码
  • 3. 实验过程
    • 3.1算法流程
    • 3.2完整代码
    • 3.3测试结果

1. 作者介绍

韩阳,男,西安工程大学电子信息学院,2023级研究生
研究方向:贝叶斯网络结构学习
电子邮件:Hyang_h@163.com

吴天禧,女,西安工程大学电子信息学院,2023级研究生,张宏伟人工智能课题组
研究方向:模式识别与智能系统
电子邮件:230411046@stu.xpu.edu.cn

2. 艺术二维码

艺术二维码(Artistic QR Code)是在传统二维码的基础上,通过艺术化的设计和颜色丰富,结合品牌或个人风格的元素创造出的一种新型二维码。艺术二维码在实用性和美观性之间取得了平衡。

2.1 艺术二维码的作用

  1. 增强品牌识别:通过将企业标识、口号、颜色或产品形象等元素融入二维码设计,可以强化品牌视觉效果和辨识度。

  2. 吸引目光:创意和颜色丰富的设计使艺术二维码相较于传统黑白二维码更能吸引人们的关注。

  3. 提升用户体验:艺术二维码常常引起用户的好奇心,可能提高用户扫码的意愿,从而增加交互的机会。

  4. 营销和宣传:艺术二维码可以用于商品包装、广告、商店展示或名片等,作为营销工具对产品进行推广。

  5. 展现文化和艺术价值:一些设计师会将二维码融入艺术作品中,使二维码自身也成为一种艺术的表达方式。

  6. 个性化表达:对于个人来说,定制化的艺术二维码可以展示个人品味、情感或所属社群。

艺术二维码将功能性和艺术性结合在一起,不仅提供了信息的快速传递功能,同时也增加了视觉上的享受和品牌传播的附加价值。

2.2 艺术二维码的应用场景

  1. 营销和广告:艺术二维码可以用于产品广告、促销活动、品牌推广等。通过将艺术元素融入二维码中,可以吸引用户的注意力,提高品牌曝光度。

  2. 文化艺术展览:在艺术展览中使用艺术二维码可以为观众提供更多的信息和互动体验。观众可以通过扫描艺术二维码,获取艺术品的详细介绍、创作背景、艺术家信息等。

  3. 产品包装和标识:将艺术二维码应用于产品包装和标识上,可以增加产品的美感和独特性。用户可以通过扫描艺术二维码,获取产品相关的信息、使用说明、售后服务等。

  4. 教育和学习:艺术二维码可以应用于教育领域,为学生提供更加有趣和互动的学习体验。教师可以在教材、课件等教学资料中加入艺术二维码,学生可以通过扫描二维码获取相关的学习资源、视频讲解、在线测试等。

  5. 旅游和景点导览:在旅游景点中使用艺术二维码可以为游客提供更加丰富和个性化的导览服务。游客可以通过扫描艺术二维码,获取景点的介绍、历史文化背景、导览地图等。

  6. 数字艺术展示:艺术二维码可以应用于数字艺术展示,将艺术作品与数字技术相结合。观众可以通过扫描艺术二维码,欣赏艺术作品的展示、艺术家的创作理念等。

2.3调用万维易源API生成AI艺术二维码

1、进入万维易源官网(https://www.showapi.com/),注册账号并登陆。

在这里插入图片描述

2、选择0元后点击立即购买。有效期为1个月,共有20次免费调用的机会。

在这里插入图片描述

3、购买成功后,点击查看资源包
在这里插入图片描述
4、点击我的应用,复制 AppId,在 Secret 处点击查看

在这里插入图片描述

5、查看 Secret 需要重新输入注册账号的密码。

在这里插入图片描述6、在购买下面有一个产品说明,可以看到一些生成的二维码效果展示;扫一扫可以直达对应url的链接。

在这里插入图片描述
在这里插入图片描述
7、购买链接下面有一个接口文档选项,这个文档包含四个部分。

在这里插入图片描述

8、创建艺术二维码部分的部分请求参数与返回参数。

在这里插入图片描述
在这里插入图片描述

9、创建艺术二维码部分的最下面有请求示例与返回示例

在这里插入图片描述
10、下载后得到一个压缩包。注意:解压后文件夹一定要和代码文件夹在一个目录中。

在这里插入图片描述在这里插入图片描述

3. 实验过程

3.1算法流程

1、实例化ShowapiRequest类:
首先,创建ShowapiRequest类的实例。这一步通常涉及到指定API的URL和必要的认证信息,如API密钥。
示例代码:ShowapiRequest request = new ShowapiRequest(“API_URL”, “YOUR_APPID”, “YOUR_SECRET”);
2、添加请求参数:
接下来,根据API的要求,向请求中添加必要的参数。这些参数可以是查询字符串、路径参数或者是POST请求体中的数据。
示例代码:request.addTextPara(“paramName”, “paramValue”);
3、发送HTTP POST请求:
紧接着,使用设置好的请求实例发送HTTP POST请求。在这一步中,程序会与API服务器建立连接,提交请求,并等待服务器的响应。
示例代码:String response = request.post();
4、接收和处理响应:
最后,处理API的响应。这通常包括解析响应数据(通常是JSON或XML格式),以及基于这些数据实施逻辑处理。
响应处理包括:检查响应状态码来确定请求是否成功,解析响应体的数据以获取所需信息,以及处理任何可能的错误或异常情况。

3.2完整代码

import requests

import qrcode
from urllib import parse
#全局请求头
files = {}
headers = {}
body = {}
timeouts = {}
resHeader = {}

class ShowapiRequest:
    def __init__(self, url, my_appId, my_appSecret):
        self.url = url
        self.my_appId = my_appId          # 应用程序的 appID ,这里不需要修改,在trian.py中修改即可
        self.my_appSecret = my_appSecret  # 应用程序的 appSecret
        body["showapi_appid"] = my_appId
        body["showapi_sign"] = my_appSecret
        headers["User-Agent"] = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2427.7 Safari/537.36"

    def addFilePara(self, key, value_url):
        files[key] = open(r"%s" % (value_url), 'rb')
        return self

    def addHeadPara(self, key, value):
        headers[key] = value
        return self

    def addBodyPara(self, key, value):
        body[key] = value
        return self
    #设置连接时间和读取时间
    def setTimeout(self, connecttimout, readtimeout):
        timeouts["connecttimout"] = connecttimout
        timeouts["readtimeout"] = readtimeout
        return self


    def get(self):
        get_url = self.url + "?" + parse.urlencode(body)
        if not timeouts:
            res = requests.get(get_url, headers=headers)
        else:
            timeout = (timeouts["connecttimout"], timeouts["readtimeout"])
            res = requests.get(get_url, headers=headers, timeout=timeouts)
        return res

    def post(self):
        if not timeouts:
            res = requests.post(self.url, files=files, data=body, headers=headers)
        else:
            timeout = (timeouts["connecttimout"], timeouts["readtimeout"])
            res = requests.post(self.url, files=files, data=body, headers=headers, timeout=timeout)
        return res
from ShowapiRequest import ShowapiRequest

r = ShowapiRequest("http://route.showapi.com/3040-1","1590853","bbab2bb4b50e415d88c6f851cdcab7c4" )
r.addBodyPara("text","https://u.wechat.com/MLlqQKhpMA_28-YGAb4Q8hY")
r.addBodyPara("qr_code_url", "https://u.wechat.com/MLlqQKhpMA_28-YGAb4Q8hY")
r.addBodyPara("style_id","shop_flower")
r.addBodyPara("call_back","")
r.addBodyPara("batch_size","1")
r.addBodyPara("use_short_link","1")
r.addBodyPara("composition_ratio","1:1")
r.addBodyPara("qr_code_base64","")
r.addBodyPara("position","center")
r.addBodyPara("qr_format","block_ex")
res = r.post()
print(res.text) # 返回信息

3.3测试结果

将生成的test_id复制到任务进度查询后等待大概1-3分钟后查看result list中的链接,复制到浏览器可查看到生成的艺术二维码。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/678215.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

165.二叉树:对称二叉树(力扣)

代码解决 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* Tre…

精酿啤酒:品质与口感在啤酒创新与研发中的重要性

在啤酒行业中,创新与研发是推动品牌持续发展的重要动力。而品质与口感作为啤酒的核心要素,在啤酒创新与研发中具有不可忽视的重要性。对于Fendi club啤酒而言,其卓着的品质和与众不同的口感在创新与研发中发挥了关键作用。 品质是啤酒创新与研…

【mysql】ssl_choose_client_version:unsupported protocol

起因:项目上的DolphinScheduler连接不上数据库,查看worker日志提到SSL协议问题: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failureCaused by: java.io.EOFException: SSL peer shut down incorrectly 我…

4. MySQL 约束

文章目录 【 1. 主键约束 PRIMARY KEY 】1.1 在创建表时设置主键约束设置单字段主键在创建表时设置联合主键 1.2 在修改表时添加主键约束1.3 删除主键约束1.4 主键自增长 AUTO_INCREMENT指定自增字段初始值自增字段不连续 【 2. 外键约束 FOREIGN KEY 】2.1 在创建表时设置外键…

使用大模型解析用户问题

前文 我在问答业务中遇到了这样的问题,用户的提问方式是千变万化的,有一种可能就是用户会为了节省时间,同时在一句话里面包含了多个问题,如用户输入“查询上城区管龄大于10年,管材是PE管的管线信息,再帮我…

kafka-集群-生产消费测试

文章目录 1、集群生产消费测试1.1、消费者消费消息1.2、生产者生产消息 1、集群生产消费测试 1.1、消费者消费消息 [rootlocalhost ~]# kafka-console-consumer.sh --bootstrap-server 192.168.74.148:9095,192.168.74.148:9096,192.168.74.148:9097 --topic my_topic11.2、生…

windows开机进入grub引导

电脑上只装了一个windows7,突然有一天有人为了排查一个问题,激活了windows,关机重启以后就进入grub的引导启动了 用启动盘尝试过修复引导,使用启动盘里的分区工具重置启动引导,easyBCD都试过了,都只生效一次…

Java项目:98 springboot在线教育系统

作者主页:舒克日记 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 本系统共有管理员、用户等角色 本在线教育系统管理员功能有个人中心,用户管理,讲师管理,普通管理员管理&#xff…

HR招聘面试人才测评,如何做行政服务类岗位测评?

行政服务类岗位是企业中非常重要的一类职位,主要职责是协助企业领导完成行政管理工作,如会议组织、文件归档、人员档案管理等。为了确保企业行政管理工作的高效运行,需要对行政服务类岗位的综合素质进行测评。具体方法如下: 1. …

Python:b站多个视频爬取下载

📚博客主页:knighthood2001 ✨公众号:认知up吧 (目前正在带领大家一起提升认知,感兴趣可以来围观一下) 🎃知识星球:【认知up吧|成长|副业】介绍 ❤️如遇文章付费,可先看…

邀请新人有奖励的APP推荐:三款新用户注册有奖励的软件

邀请新人有奖励的APP推荐:三款新用户注册有奖励的软件 在这个数字化时代,许多应用程序为了扩大用户基础和增加活跃度,推出了邀请新人有奖励的机制。对于喜欢尝试新应用的用户来说,这不仅是一个获得额外奖励的好机会,也…

飞利浦桌面隐藏文件夹怎么恢复?一文教你搞定

在日常使用飞利浦电脑时,我们有时可能会因为误操作或其他原因而将某些文件夹隐藏起来。这些隐藏文件夹可能包含重要的文件,一旦无法找到,会给我们的工作和生活带来不便。因此,了解如何恢复飞利浦桌面上的隐藏文件夹显得尤为重要。…

【UML用户指南】-02-UML基本元素的介绍(二)

目录 1、语法和语义规则 2、UML中的公共机制 (1)规约 (2)修饰 (3)通用划分 (4)扩展机制 衍型/版型/类型(stereotype) 标记值 (tagged val…

解决Chat打开时Unable to load conversation 的问题

在开梯子的情况下打开chat依然很卡,这里选择edge的浏览器无痕模式(新建InPrivate窗口),在无痕窗口下打开chat就可以了。

华为RH2288H V3服务器iBMC的SSL证书续期

本文对华为RH2288H V3服务器iBMC的SSL证书续期,以避名登录告警提示及主机状态异常。 一、检查现网服务器iBMC的SSL证书到期时间 登录iBMC,点击配置--SSL证书,如下: 可以看到本服务器SSL证书将于今年7月22日到期。 二、联系厂家…

高级无人机系统开发:基于STM32

目录 引言环境准备无人机控制系统基础代码示例:实现无人机控制系统 4.1 姿态传感器数据读取4.2 电机控制4.3 GPS数据处理4.4 用户界面与显示应用场景:无人机导航与稳定控制问题解决方案与优化收尾与总结 1. 引言 本教程将详细介绍如何在STM32嵌入式系…

离屏粒子优化

一、GPU Gems3 Chapter 23:高速的离屏粒子 原文:Chapter 23. High-Speed, Off-Screen Particles 粒子特效一直是一个游戏开发中非常吃性能的点,特点就在于①数量不固定,在极端情况下同时存在的特效数量特别多,不且好合…

第二证券炒股知识:短线炒股技巧?

在股票商场上,出资者分为长线和短线这两大类,其中短线炒股存在以下技巧: 1、早盘集合竞价时刻上的技巧 早上集合竞价对短线出资者来说比较重要,其中早上集合竞价期间9:15-9:20之间出资者可以进行撤单操作&#xff0c…

Qt开发技术:Q3D图表开发笔记(四):Q3DSurface三维曲面图颜色样式详解、Demo以及代码详解

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/139424086 各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究 红胖子网络科技博…

中学生学人工智能系列:如何用AI学生物

经常有读者朋友给公众号《人工智能怎么学》留言咨询如何使用人工智能学习语文、数学、英语、化学等科目。这些都是中学教师、中学生朋友及其家长们普遍关注的问题。仅仅使用留言回复的方式,不可能对这些问题做出具体和透彻的解答,因此本公众号近期将推出…