前面两章已经介绍了文件上传的进度条与文件切片,本章讲讲图片裁剪。
在实际项目中,会遇到图片固定宽度和高度,作为一个开发者,我们不能总是要求用户上传的图片尺寸正好符合要求,那么只能用裁剪来解决。
所谓裁剪,就是把一张图片放到框中,通过裁剪区域来获取最终需要的图片。
进入正题,首先介绍下html结构:
上传图片首先需要预览,FileReader的readAsDataURL方法能够将file对象转换为base64,将img的src设置为转换后的base64即可显示出来,那么问题来了,源图片区域的图片大小是怎么设置的呢。
首先源图片区域宽高比例固定,如果上传的图片宽度除以裁剪区域宽度比例wp大于1或者高度除以裁剪区域高度比例hp大于1,那么就得照顾尺寸小的那条边,使比例大的边刚好显示在源图片区域内,并且保证源图片的宽高比例不变;
上面最后几行代码,使源图片和预览图片尺寸一致,没有多少注释,代码即注释。这里已