闲着没事儿,自己做了一个JS压缩图片的过程,顺便整理了一下自己的思路,发出来分享,可以直接复制粘贴使用。如果哪里写的不到位,请各位及时提醒,共同提高。
具体操作的方式就是设置一个最大宽度或者高度,如果超出了,就进行压缩,如果不符合条件就不压缩了。通过压缩图片的长宽比,进行压缩图片。后期在输出的时候,设置了一个0.75的模糊程度,这样可以让图片更小,还不至于太模糊,这些参数都可以调节。
以下是完整代码
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JS图片压缩</title>
</head>
<body>
<input type="file" id="file" onchange = "compress(this)">
<img id = "img">
<!--图片预览区-->
<button>提交</button>
<script>
function compress(e){
//拿到本次上传的文件对象
var file = e.files[0]
//如果有需要,可以判断file.type是否是图片&#x