首页 >

js生成缩略图后上传并利用canvas重绘【javascript】

web前端|js教程js生成缩略图后上传并利用canvas重绘【javascript】
生成缩略图,canvas重绘
web前端-js教程
一般在处理图片上传时,通常的逻辑都是将源图片上传到服务器端,再由服务器端的语言进行缩放大小的操作。
聚美优品 首页源码,拷贝中文乱码vscode,ubuntu 搜索 后缀,tomcat初始端口修改,启动sqlite3数据库,爬虫与反爬虫机制,php中的round,福清企业seo服务电话,网站首页图片轮播模板,关键词库模板lzw
此种模式一般可以满足大部分的需求,但当我们所需要的图片仅仅是一个符合规定大小的源图片的缩略图,再使用此种模式,将是一种浪费服务端资源以及带宽的方式,故我们考虑在浏览器端生成小图后再进行上传操作。
网微信商城系统源码,安装ubuntu致命错误,远古地底生物爬虫,test() php,seo自助下单lzw
//以下为源代码
ZX助手安卓版源码 详细编译教程,vscode 支持ts,最佳ubuntu,tomcat 列目录,安卓sqlite查找图片,织梦手机版 插件,做前端页面框架用什么好,python中网络爬虫的区别,php 图片裁剪上传,溧阳seo优化排名,营销型网站免费模板下载,网页模板复制,网站模板引擎lzw
 
function drawCanvasImage(obj,width, callback){
var $canvas = $(''),
canvas = $canvas[0],
context = canvas.getContext('2d');
var img = new Image();
img.onload = function(){
if(width){
if(width > img.width){
var target_w = img.width;
var target_h = img.height;
}else{
var target_w = width;
var target_h = parseInt(target_w/img.width*img.height);
}
}else{
var target_w = img.width;
var target_h = img.height;
}
$canvas[0].width = target_w;
$canvas[0].height = target_h;
context.drawImage(img,0,0,target_w,target_h);
_canvas = canvas.toDataURL();
/*console.log(_canvas);*/
callback(obj,_canvas);
}
img.src = getFullPath(obj);
}
function getFullPath(obj)
{
if(obj)
{
//ie
if (window.navigator.userAgent.indexOf("MSIE")>=1)
{
obj.select();
return document.selection.createRange().text;
}
//firefox
else if(window.navigator.userAgent.indexOf("Firefox")>=1 || $.browser.opera || $.browser.mozilla)
{
if(obj.files && window.URL.createObjectURL)
{
return window.URL.createObjectURL(obj.files[0]);
}
return obj.value;
}else if($.browser.safari){
if(window.webkitURL.createObjectURL && obj.files){
return window.webkitURL.createObjectURL(obj.files[0]);
}
return obj.value;
}
return obj.value;
}
}

函数getFullPath为获取选中的图片的地址。

_canvas获取到的是base64编码的图片编码,将其传输到后端写入文件即可。


js生成缩略图后上传并利用canvas重绘【javascript】
  • PHP实现可添加水印与生成缩略图的图片处理工具类【PHP】
  • PHP实现可添加水印与生成缩略图的图片处理工具类【PHP】 | PHP实现可添加水印与生成缩略图的图片处理工具类【PHP】 ...

    js生成缩略图后上传并利用canvas重绘【javascript】
  • thinkphp5上传图片及生成缩略图公共方法
  • thinkphp5上传图片及生成缩略图公共方法 | thinkphp5上传图片及生成缩略图公共方法 ...

    js生成缩略图后上传并利用canvas重绘【javascript】
  • php实现上传图片生成缩略图示例【PHP】
  • php实现上传图片生成缩略图示例【PHP】 | php实现上传图片生成缩略图示例【PHP】 ...