首页 > 编程语言 >微信小程序开发:调用人像动漫化接口前先限制并缩放图片尺寸

微信小程序开发:调用人像动漫化接口前先限制并缩放图片尺寸

时间:2024-03-12 17:34:30浏览次数:28  
标签:人像 缩放 微信 oss 程序开发 接口 2000 图片

上文说到我们在调用人像动漫化接口之前先将人像图片做了增强,但是用户自己上传的图片可能像素会很大,会超过2000*2000,因为人像动漫化接口限制,图片大小不能超过2000*2000:

 

只有阿里云有这个限制,腾讯云的限制是图片大小不能超过5M:

 

只有阿里云的有限制:

 

所以我们需要用到阿里云的图片缩放功能,不收费的:

 

阿里云的图片缩放很简单,只需要在oss图片地址后面加个参数即可缩放。

缩放逻辑:当图片的宽或高大于2000时,强制缩放为2000,另一边等比缩放。

所以需要先获取到图片的像素大小,我们使用如下api,需要先配置download白名单:

 

去MP后台配置download白名单:

 

再使用api获取图片宽高:

 

拿到了:

 

我们把这个异步接口改成同步接口:

 

我们在配置中增加一个最大像素的配置,只要超过这个像素的我们都缩放:

 

我们在阿里云oss测试一下图片缩放,这里有一张用来测试的人像图片,它的尺寸是2025*2374:

 

很显然高度是超过了2000,我们需要将高度缩放为2000,将宽度自动等比缩放即可。

经测试,只需要设置最长边即可自动缩放。

缩放指令:
https://yifangyunzhi-anime.oss-cn-shanghai.aliyuncs.com/test/Snipaste_2024-03-11_16-18-26w2200h1900.png?x-oss-process=image/resize,l_2000:

 

我将人像增强的结果给人像动漫化接口时,报错了:

 

因为人像增强后的图片不是上海区域的,而是这个:

 

所以我还得把这张图片再次上传到阿里云的上海区域的oss上才行。

以前是上传本地图片,这次是上传网络图片,不确定之前的上传方法要不要改,再次折腾:

 

 

OK!搞定。

现在的流程为:无论是通道一还是通道二上传的人像图片都会先统一上传到阿里云oss上海区域,再进行人像增强操作。

 

我先打包提测,现在时间:2024-3-12 17:22:01,估计明天大家就能用上新功能啦。

小程序名:《一方云知》。首页就是人像动漫化功能,欢迎大家使用。

这篇文章就到这里啦!如果你对文章内容有疑问或想要深入讨论,欢迎在评论区留言,我会尽力回答。同时,如果你觉得这篇文章对你有帮助,不妨点个赞并分享给其他同学,让更多人受益。

想要了解更多相关知识,可以查看我以往的文章,其中有许多精彩内容。记得关注我,获取及时更新,我们可以一起学习、讨论技术,共同进步。

感谢你的阅读与支持,期待在未来的文章中与你再次相遇!

标签:人像,缩放,微信,oss,程序开发,接口,2000,图片
From: https://www.cnblogs.com/shuinanxun/p/18068819

相关文章

  • 微信小程序之导出页面为doc文件
    微信小程序:需求将一个类似报表的页面点击下载导出问xxx.doc文件。1.写入文件导出由于微信小程序的限制;将导出的功能放到node服务上。使用fs直接将html文本模板写入doc文件后返回下载地址 //生成下载文件,并返回名称app.post('/getFile',(req,res)=>{constdata......
  • 如何开发微信小程序
    大体流程如下1.创建微信小程序开发者账号 https://mp.weixin.qq.com,获取小程序的AppId(用于在微信开发者工具中创建小程序) 2.安装微信开发者工具   ......
  • 微信小程序开发:精细化处理人像动漫化调用之前的人像修复增强
    有用户反馈人像动漫化后的图片失真: 所以看了下阿里云有无人像增强的api,搜索后还真有: 文档地址:https://help.aliyun.com/zh/viapi/developer-reference/api-y20gud我想的是:在调用人像动漫化接口之前先将上传的人像图片再调用一次人像增强后再调用动漫化接口,这样就可以将......
  • C# 等比例缩放图片
    ///<summary>///等比例缩放图片///</summary>///<paramname="bitmap">图片</param>///<paramname="destHeight">高度</param>///<paramname="destWidth">宽度</param>///<returns>&l......
  • Python实现企业微信自动打卡程序二:跳过节假日,随机打卡时间,定时任务,失败通知
    一、介绍在上节Python实现企业微信上下班自动打卡程序内容之后,我们继续优化自动打卡程序。接下来增加如下内容:实现打卡时间随机范围处理节假日不打卡的情况实现定时调度打卡打卡成功或失败通知自己二、实现打卡时间随机范围既然我们程序写完后需要定时执行,那定时执行打......
  • 绕过网页微信客户端限制
    目标网站https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx3df73e654426c64c&redirect_uri=https%3A%2F%2Fwww.vyeah.com.cn%2FMember%2FIndex%3Fcompany%3Dvyeah&response_type=code&scope=snsapi_userinfo&state=STATE&connect_redirect=1#we......
  • uni-app 微信小程序开发者工具预览项目
    1.打开微信开发者工具①设置->代理设置->选择使用系统代理②安全设置->开启服务端口2.项目中找到并打开配置文件mainfest.json->微信小程序配置->AppID配置3.运行小程序如果没有配置微信开发者工具地址,在工具下拉->设置->运行配置->小程序配置->......
  • 【教程】修改应用程序开发者名称的步骤
     引言在应用程序开发过程中,修改开发者名称是一项常见的需求,它关系到开发者在应用商店中的展示和品牌认知。本文将介绍如何通过简单的步骤来修改应用程序的开发者名称,涉及到登录开发者账户、找到应用程序、修改名称、保存并等待审核等流程。正文1.登录开发者账户首先,打开你......
  • 软件测试经典面试题:如何测微信的朋友圈?
    这是一道非常经典的面试题,相信很多小伙伴在面试中都被面试官问到过这个问题,想要回答好这个面试题,我们首先要搞清楚面试官在考察候选者什么方向测试技能。其实不难猜出,面试官主要是想考察候选者测试用例设计能力。一般会从以下两个方面来考察候选者:1、测试用例设计的全面性2、测试......
  • Python实现企业微信上下班自动打卡程序
    一、介绍在写了这么多手机端自动化测试程序后,基于使用的uiautoamtor2,最近,我突然想用Python尝试自动打开企微在上下班时间打卡操作,今天我就来分享一下我的经验和总结。二、技术原理要想通过Python控制手机APP,目前主要技术如下。2.1、Android体系在Android中,官方有一个叫adb的......