记录图片合成遇到的坑

项目环境介绍:
spring boot+thymeleaf+mybatis
需求:前端上传 一张图片+一个数字 from表单方式提交,后端返回图片地址。
1.地址问题:
在本地开发时,将图片文件夹放在项目内,但项目部署到服务器后,路径错误,服务器上的路径地址与本地不同。
关于这个问题,网上有很多方案。最终我选择了写成绝对路径。
//正确做法:在配置文件里面进行配置,然后在java文件中用@Value获取配置地址参数,很久前弄得,现在看感觉好无语。。。。。。

2.图片上传大小问题:
在本地开发测试时,可能与分辨率有关有,可以直接上传,但部署到服务器上后,pc端依旧能正常上传图片,但移动端报错,查看日志,发现上传文件大小超出tomcat默认的1MB
解决方法:
在配置文件中添加:
spring.servlet.multipart.max-file-size=50MB
spring.servlet.multipart.max-request-size=50M

3.图片合成规则
为确保合成图片文件不拉伸比例失衡,需要按比例缩放。
目标图片A的宽w高h比为 a,合成图片B宽高比 b,合成图片C的宽高比c;
如果 a>=b,图片B的高度变成h,宽度随高度等比变化w1,截取宽度范围((w1-w)/2~w+(w1-w)/2)------------------等比变换,居中截取;
如果 a<b,图片B的宽度变成w,宽度随高度等比变化h1,截取高度范围((h1-h)/2~h+(h1-h)/2)------------------等比变换,居中截取;
图片C同样按上述操作处理,这样B、C宽高都是 w、h了,可直接进行合并。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值