支持裁剪的jQuery上传头像图片插件

支持裁剪的jQuery上传头像图片插件

添加时间:2021-01-28 06:08:48
站长推荐丨赞助论坛,可获取海量资源终身免费下载权限奥!
举报 举报
收藏
预览
附件 附件
  • 模板类型模板类型:图片上传
  • 模板颜色模板颜色:初级
  • 下载积分下载积分:28 米粒
  • 下载权限下载权限:

    赞助会员

一款支持裁剪的jQuery上传头像图片插件,点击上传按钮,会有一个弹窗要求选择图片,选中图片后会有一个裁剪的对话窗口,裁剪完成后点击保存即可看到裁减后的头像。
支持裁剪的jQuery上传头像图片插件
分类:表单代码 > 图片上传 难易:初级

页面的head部分,需引入页面所需的CSS样式文件和JS插件等,代码如下:

<link type="text/css" rel="stylesheet" href="css/ycbootstrap.css"/>
<link type="text/css" rel="stylesheet" href="css/reset.css"/>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="plugins/cover_js/iscroll-zoom.js" charset="utf-8"></script>
<script type="text/javascript" src="plugins/cover_js/hammer.js" charset="utf-8"></script>
<script type="text/javascript" src="plugins/cover_js/lrz.all.bundle.js" charset="utf-8"></script>
<script type="text/javascript" src="plugins/cover_js/jquery.photoClip.min.js" charset="utf-8"></script>

页面的body部分,需设置好图片上传和裁剪所需的容器等,代码如下:

<div class="yc-upload-wrap">
	<div class="yc-upload-box">
		<div class="container">
        	<div class="row">
		        <div class="col-md-12 col-sm-12 col-xs-12" style="padding:0;">
		        	
		        	<div class="ycupload-mainbox">
		        		<div class="ycupload-main1" style="overflow:hidden;padding-left:25px;">
		        			<span style="float:left;color:#ff5a5a;font-size:14px;line-height:60px;font-weight:900;margin-right:7px;">
		        				&middot;
		        			</span>
		        			<span style="float:left;color:#333;font-size:16px;line-height:60px;margin-right:28px;">
		        				上传封面
		        			</span>
		        		</div>
		        		<div class="ycupload-line"></div>
		        		<div style="height:30px;"></div>
		        		<div  style="min-height:1px;">
		        			<div class="container">
					        	<div class="row">
							        <div class="col-md-12 col-sm-12 col-xs-12" style="padding-right:0;padding-left:36px;">
							        	<!--<a href="javascript:void(0);" class="cover-uploadBtn">
							        		<img src="img/yc_uploadimg_06.png"/>
							        		<div id="clipArea"></div>
											<input type="file" id="file">
											<button id="clipBtn">截取</button>
							        	</a>
							        	<div id="view"></div>-->
							        	<div style="min-height:1px;line-height:160px;text-align:center;position:relative;" ontouchstart="">
							        		<div class="cover-wrap" style="display:none;position:fixed;left:0;top:0;width:100%;height:100%;background: rgba(0, 0, 0, 0.4);z-index: 10000000;text-align:center;">	
							        			<div class="" style="width:900px;height:600px;margin:100px auto;background-color:#FFFFFF;overflow: hidden;border-radius:4px;">
							        				<div id="clipArea" style="margin:10px;height: 520px;"></div>
							        				<div class="" style="height:56px;line-height:36px;text-align: center;padding-top:8px;">
							        					<button id="clipBtn" style="width:120px;height: 36px;border-radius: 4px;background-color:#ff8a00;color: #FFFFFF;font-size: 14px;text-align: center;line-height: 36px;outline: none;">保存封面</button>
							        				</div>
							        			</div>
							        		</div>
							        		<div id="view" style="width:214px;height:160.5px;" title="请上传 428*321 的封面图片"></div>
								        	<div style="height:10px;"></div>
								        	<div class="" style="width:140px;height:32px;border-radius: 4px;background-color:#ff8a00;color: #FFFFFF;font-size: 14px;text-align:center;line-height:32px;outline:none;margin-left:37px;position:relative;">
								        		点击上传封面图
								        		<input type="file" id="file" style="cursor:pointer;opacity:0;filter:alpha(opacity=0);width:100%;height:100%;position:absolute;top:0;left:0;">
								        	</div>
							        	</div>
						        	</div>
					        	</div>
				        	</div>
				        	
		        		</div>
		        		<div style="height:25px;"></div>
		        	</div>
		        	
	        	</div>
        	</div>
    	</div>
    	
	</div>
</div>

页面的底部,需对指定元素启用图像上传裁剪插件,并设置好相关参数,代码如下:

//上传封面
//document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
var clipArea = new bjj.PhotoClip("#clipArea", {
	size: [428, 321],// 截取框的宽和高组成的数组。默认值为[260,260]
	outputSize: [428, 321], // 输出图像的宽和高组成的数组。默认值为[0,0],表示输出图像原始大小
	//outputType: "jpg", // 指定输出图片的类型,可选 "jpg" 和 "png" 两种种类型,默认为 "jpg"
	file: "#file", // 上传图片的<input type="file">控件的选择器或者DOM对象
	view: "#view", // 显示截取后图像的容器的选择器或者DOM对象
	ok: "#clipBtn", // 确认截图按钮的选择器或者DOM对象
	loadStart: function() {
		// 开始加载的回调函数。this指向 fileReader 对象,并将正在加载的 file 对象作为参数传入
		$('.cover-wrap').fadeIn();
		console.log("照片读取中");
	},
	loadComplete: function() {
		 // 加载完成的回调函数。this指向图片对象,并将图片地址作为参数传入
		console.log("照片读取完成");
	},
	//loadError: function(event) {}, // 加载失败的回调函数。this指向 fileReader 对象,并将错误事件的 event 对象作为参数传入
	clipFinish: function(dataURL) {
		 // 裁剪完成的回调函数。this指向图片对象,会将裁剪出的图像数据DataURL作为参数传入
		$('.cover-wrap').fadeOut();
		$('#view').css('background-size','100% 100%');
		console.log(dataURL);
	}
});
//clipArea.destroy();
相关内容推荐
资源求助发帖
查看更多发帖

*

回帖描述:

*

链接类型:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
热点内容推荐
标题:支持裁剪的jQuery上传头像图片插件

*

描述:
平均回复时间:3-10分钟
规则介绍:悬赏寻求论坛网友分享资源,站点对分享内容的准确性,合法性,版权等没有足够的监管能力。如果您发现资源不正确,无法使用,不符合法律法律等情况,您可以直接举报资源。站长将尽快核实您的举报,并根据情况,采取封号,退换米粒等处理。

*

回帖描述:

*

链接类型:

*

阅读权限:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
  • 背景波浪
  • 背景波浪
  • 波浪
  • 波浪
客服
在线咨询
周一 至 周日 9:00 ~ 22:00
QQ:1326974360
微信:juyoubuluo6688
客服热线
18205485173
工作日 9:00 ~ 18:00
微信扫码咨询
客户服务
欢迎咨询服务
咨询量较多时,请耐心等待
社群

关注公众号

获取更多资讯

扫码进群(QQ)

与更多大牛交流沟通

0.332933s