利用 canvas 实现压缩图片
/**
* nase64Data --> 要压缩的图片base64数据
* width --> 宽度
* height --> 高度
* _callback --> 回调函数
*/
function getCompressImage(base64Data, width, height, _callback) {
var oldimg = new Image();
oldimg.src = base64Data;
var canvas = document.createElement('canvas');
var context = canvas.getContext('2d');
canvas.width = width;
canvas.height = height;
oldimg.onload = function() {
console.log('原始宽:' + oldimg.width + "原始高:" + oldimg.height);
// 绘制
context.drawImage(oldimg, 0, 0, width, height);
// 新的base64数据(压缩后的数据)
var newBase64 = canvas.toDataURL();
return _callback(newBase64);
}
}
利用 canvas 实现压缩图片的更多相关文章
- canvas前端压缩图片
		
参考网上的用法,下面是利用canvas进行的图片压缩 <!DOCTYPE html> <html> <head> <meta charset="ut ...
 - HTML5 Canvas前台压缩图片并上传到服务器
		
1.前台代码: <input id="fileOne" type="file" /> <input id="btnOne" ...
 - [H5-Compress-Image]利用canvas实现 javascript 图片压缩处理_基于requirejs模块化的代码实现
		
// 还存在有问题的代码,问题在于processFile()中// 问题:在ipone 5c 下,某些图片压缩处理后,上传到服务器生成的文件size为0,即是空白 ;define(['mod/tool ...
 - canvas前端压缩图片和视频首屏缩略图并上传到服务器
		
图片: var img = document.createElement('img') img.src = window.URL.createObjectURL(fileObj.file) // 加载 ...
 - 如何利用PHP语言压缩图片?PHP入门教程
		
PHP可以控制缩略图清晰度和缩略图之后产生音量的产生.下面我们就来看看如何使用PHP优化我们的压缩图像. PHP应用程序的开发往往涉及生成缩略图,使用PHP生成缩略图的过程本身并不难,但你知道PHP ...
 - Android学习之利用BitmapFactory工厂压缩图片
		
BufferedInputStream in = new BufferedInputStream( new FileInputStream(new File(path))); BitmapFactor ...
 - 利用canvas压缩图片
		
现在手机拍的照片动不动就是几M,当用户上传手机里的照片时一个消耗流量大,一个上传时间长,为了解决这个问题,就需要压缩图片: 想法:利用canvas重绘图片,保持宽高比不变,具体宽高根本具体情况而定. ...
 - js移动端/H5同时选择多张图片上传并使用canvas压缩图片
		
最近在做一个H5的项目,里边涉及到拍照上传图片的功能以及识别图片的功能,这里对识别图片的功能不做赘述,不属本文范畴.我在做完并上线项目后,同事跟我提了一个要求是可不可以同时选择多张图片上传,我做的时候 ...
 - 利用canvas对上传图片进行上传前压缩
		
利用谷歌调式工具发现,图片大小直接影响着首屏加载时间. 且考虑到后期服务端压力,图片压缩特别必要. 本文是前端利用canvas实现图片.参考文章:https://www.cnblogs.com/007 ...
 
随机推荐
- Qt全局坐标和相对坐标
			
QMouseEvent中两类坐标系统,一类是窗口坐标,一类是显示器坐标. QPoint QMouseEvent::pos() 返回相对这个widget(重载了QMouseEvent的widget)的位 ...
 - centOS服务器-firewall防火墙开放端口
			
前言 日常开发中,我们常常会因为服务器各种端口未开放出现各种问题,下面我们就来简单了解下服务器上的端口开放!!! 作为一个后台开发,日常接触最多的除了代码就是服务器了: 产品:谁谁, 线上有个功能报错 ...
 - [LuoguP2157][SDOI2009]学校食堂_状压dp
			
学校食堂 题目链接:https://www.luogu.org/problem/P2157 数据范围:略. 题解: 发现$B$特别小,很容易想到状压. 即在$dp$的时候弄出来$f_{(i,j,k)} ...
 - Android使用glide加载.9图片的方法
			
我们在开发过程中会经常使用.9图片, 因为它可以使图片拉伸的时候,保证其不会失真. 而我们把.9图片放在服务器端,通过glide直接加载,会报错. 我们的解决方法是 通过sdk的aapt工具 把.9图 ...
 - Redis-负载均衡
			
摘要 在nginx里面配置一个upstream,然后把相关的服务器ip都配置进去.然后采用轮询的方案,然后在nginx里面的配置项里,proxy-pass指向这个upstream,这样就能实现负载均衡 ...
 - Spark和Scala当中的collect方法的用法和例子
			
[学习笔记] collect: 收集一个弹性分布式数据集的所有元素到一个数组中,这样便于我们观察,毕竟分布式数据集比较抽象.Spark的collect方法,是Action类型的一个算子,会从远程集群拉 ...
 - Pots(POJ-3414)【BFS】
			
题意:有两个有着固定容量的茶壶,初始时都为空,要求用FILL,POUR,DROP三种操作来准确地得到C值,输出最少次数及操作方案. 思路:比赛的时候真是脑子不好使,根本没想到是搜索,看了别人的题解用搜 ...
 - # OpenGL常用函数详解(持续更新)
			
OpenGL常用函数详解(持续更新) 初始化 void glutInit(int* argc,char** argv)初始化GULT库,对应main函数的两个参数 void gultInitWindo ...
 - php实现算法
			
二分法查找(已排序) @params $arr 查找的数组 $start 开始查找的下标 $end 结束查找的下标 $value 查找的值 function bin_search($arr,$ ...
 - 在win下开发的项目怎么迁移到linux下面才能正常运行?
			
我可以直接拷贝项目目录到linux下面直接操作吗? 答案: 可以,咋可能??? 为啥??? win开发直接拷贝过去,你不凉谁凉了,我以前也同样的单纯,如果你项目里用的绝对路径! 那恭喜你,你凉了,清楚 ...