js 压缩图片

摘要:
varf=数据[0];//图像地址varxhr=newXMLHttpRequest()xhr。打开('GET',f,true)xhr。responseType='blob'xhr。onload=function(){console.log(“我们在这里”);console.log(this.response.size);if(this.response.size˃250000){letimg=
					var f = data[0];  //图片地址
					var xhr = new XMLHttpRequest()
					xhr.open('GET', f, true)
					xhr.responseType = 'blob'
					xhr.onload = function() {
						console.log("到此了");
						console.log(this.response.size);
						if(this.response.size>250000){
						    let img = new Image();  
							img.src = f; // 要压缩的图片 
							let width=0;
							let height=0;
							img.onload=function(){  
								width = img.width;  
								height = img.height;  
							 
								let canvas = document.createElement('canvas');
								let ctx = canvas.getContext('2d');
								canvas.width = width;
								canvas.height = height;
								var base64;
								//  将图片画到canvas上面   使用Canvas压缩  
								 canvas.setAttribute("width", width);
                                                                  canvas.setAttribute("height",height);
							    ctx.drawImage(this, 0, 0, width, height);
								//var base64 = canvas.toDataURL(this.response.type, 0.2);
								var base64 = canvas.toDataURL('image/png',0.2);
								console.log(base64);//最终获得base64位
								console.log("到此了");
						   }; 
						}else{
//此方法自行写 pathToBase64 pathToBase64(f).then(res=>{ console.log(res);直接转base64 }) }   

  

参考地址:

https://www.cnblogs.com/zhao1949/p/9177281.html

https://www.jq22.com/web-skill43

https://www.jb51.net/article/187561.htm

https://www.jianshu.com/p/d21193898339

https://developer.mozilla.org/zh-CN/docs/Web/API/HTMLImageElement/Image

https://www.cnblogs.com/markor/articles/745281.html   [图片类处理]

免责声明:文章转载自《js 压缩图片》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇基于Geomesa服务查询轨迹数据无法根据空间和时间范围进行结果查询Springboot 返回 jsp下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

nginx 反向代理

nginx反向代理Docker部署Apache服务Docker部署nginx服务修改nginx侦听和转发配置Docker部署Apache服务创建Dockerfile,编写以下内容,并执行dockerbuild-tv4/Apache创建v4/apacheimage。修改后,执行nginxsroad以重新加载服务测试请求/品种请求/caesar...

高通驱动树中的GPIO详解

高通驱动树中的GPIO详解DriveStrength&&tri-state相关概念DriveStrength:表示“驱动强度”。实质电路分析时高阻态可做开路理解。也就是说理论上高阻态不是悬空,它是对地或对电源电阻极大的状态。表示方法高阻态常用字母Z表示。与gpio子系统的交互虽然pinctrl提供了pinctrl_request_gpio()...

RF(一)RF的安装步骤

7.安装Appium 8,安装最新版本的nodeJS:node-v6.9.49,在命令行上执行Appium命令,您应该能够启动Appium服务器~~~~...

GIS中的数据库.gdb与.mdb的区别

Gdb是文件地理数据库,mdb是个人地理数据库,两者都是数据库文件类型。个人地理数据库是基于access数据库的个人数据库格式mdb,可存储不超过2G的文件,仅适用于Windows系统;文件数据库是保存在文件系统文件夹中的各种类型的GIS数据集的集合。请参阅文章“GIS中database.gdb和.mdb之间的区别是什么?”,m892832piczpec5。...

postgresql笔记

一旦任何有价值的对象被转移到新所有者,可以使用DROPOWNED命令删除被删除角色所拥有的任何剩余对象。此外,DROPOWNED不会删除整个数据库或表空间。因此,如果角色有任何尚未转移到新所有者的数据库或表空间,则需要手动删除它们。DROPOWNED还将注意到,对于不属于目标角色的对象,删除授予目标角色的任何特权。因为REASSIGNOWNED不会接触这些对...

arcgispro 计算字段示例

使用两个或四个空格来定义每个逻辑级别。Python计算表达式字段将使用感叹号(。简单计算简单字符串示例一系列Python字符串函数支持使用字符串。字符串字段中的字符可以通过索引和拆分操作访问“”bcd“”Python还支持使用format()方法的字符串格式!)常用Python字符串操作简单数学示例Python提供了处理数字的工具。...