昨天面试,面试官问了我一个问题,就是用户上传了一张不是一比一比例的图片,你如何把这张图片设置成一比一且不变形
!我觉得问的是 图片截取吧
例如微信上传头像,图片是长方形1:2的尺寸, 都会有个1:1的正方形,来截取图片
这样就比较符合你的问题,设置‘1比1不变形’,设置的话 感觉只能是图片截取
至于图片截取简单点就是两个方法
1、前端处理-canvas绘图,进行截取
2、后端处理-对应坐标给到程序,程序来截图后,把新的图片资源反馈给你
祝早日解决问题!
要让不是1:1的图片保存为1:1 只有两种方法啊。要么图片截取 要么留白(比如200100的图片设置父元素为200200 然后图片居中上下留白,具体js就像1楼说的 高大设置宽为父元素宽,反之设置高为父元素高,添加到父元素)
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答873 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
只能让它显示不完全啊,设置一个父元素,宽高等比固定,新建image对象,在对象的onload事件里获取宽高,如果高大设置宽为父元素宽,反之设置高为父元素高,添加到父元素