[摘要]这次给大家带来HTML5联合canvas实现图片压缩,主要以代码的形式体现,下面就是实战案例,一起来看一下。<!DOCTYPE html><html><head>...
这次给大家带来HTML5联合canvas实现图片压缩,主要以代码的形式体现,下面就是实战案例,一起来看一下。<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name='viewport' content='width=device-width, initial-scale=1, maximum-scale=1'>
<title>lianxi </title>
<style type="text/css">
</style>
</head>
<body>
<form>
名字:<input type="text " name = 'username' id = 'username'/>
上传:<input type="file" name = 'fileimage' id = 'fileimage' />
</form>
<button>button</button>
<script>
var file = document.querySelector('#fileimage')
var username = document.querySelector('#username')
var canvas = document.createElement('canvas');
var span = document.createElement('span')
var formData = new FormData()
file.addEventListener('change',function() {
//实现的原理的new formData()然后把这个formData 用ajax传进去
span.innerHTML = '预览图加载中...'
document.body.appendChild(span)
console.log(file.files[0])
username.value ? formData.append('username',username.value) : null;
resize(file.files[0]);
})
//上传前的图片压缩
function resize(file) {
var reader = new FileReader()
reader.readAsDataURL(file)
var img = new Image()
reader.onload = function (e) {
// this.result就是图片的base64地址信息
img.src = this.result;
}
var context = canvas.getContext('2d');
var gif = document.createElement('img')
// base64地址图片加载完毕后
img.onload = function () {
// 图片原始尺寸
//定义画布的大小
if (img.width > 300
关键词:HTML5联合canvas完成图片压缩