上文说到我们在调用人像动漫化接口之前先将人像图片做了增强,但是用户自己上传的图片可能像素会很大,会超过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