使用jquery cropit插件进行图片剪切前端方案

 

目录

 

前言

官网

css代码

html代码

js代码

遇到的坑


前言

jquery cropit插件可以方便的剪切图片,还可以缩放,旋转,把剪切到的图片(base64编码字符串)上传到服务器。

在用户头像编辑上传中可以提供一个可行方案。

效果图:

官网

http://scottcheng.github.io/cropit/

css代码

<style>
.cropit-preview {
	background-color: #f8f8f8;
	background-size: cover;
	border: 1px solid #ccc;
	border-radius: 3px;
	margin-top: 7px;
	background-size: cover;
	border: 1px solid #ccc;
	border-radius: 3px;
	margin-top: 7px;
	width: 145px;		/*剪切后得到的图片的宽度*/
	height: 170px;		/*剪切后得到的图片的高度*/
}

}
.cropit-preview-image-container {
	cursor: move;
}

.image-size-label {
	margin-top: 10px;
}

input, .export {
	display: block;
}

button {
	margin-top: 10px;
}

.cropit-image-zoom-input {
	margin-top: 0px;
	width: 0px;
}

/**
这里一定要设置为none,官网的例子没有告诉你这点,
为什么要设置,因为可能引入的文件中设置了其他值
导致剪切预览图片很奇怪,预览中你看到的和你实际剪切的完全不一致
*/
img {
	max-width: none;
}
</style>

html代码

<!-- 模态框(Modal) -->
	<div class="modal fade" id="selectPicBox" tabindex="-1" role="dialog"
		aria-labelledby="myModalLabel" aria-hidden="true">
		<div class="modal-dialog" style="width: 300px;">
			<div class="modal-content">
				<div class="modal-header">
					<button type="button" class="close" data-dismiss="modal"
						aria-hidden="true">&times;</button>
					<h4 class="modal-title" id="myModalLabel">编辑头像</h4>
				</div>
				<div class="modal-body">
					<!-- /header -->
					<div class="image-editor">
						<input type="file" class="cropit-image-input">
						<div class="cropit-preview"></div>
						<div class="image-size-label">缩放图片</div>
						<input type="range" class="cropit-image-zoom-input">

					</div>
				</div>
				<div class="modal-footer">
					<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
					<button id="sendPicBtn" type="button" class="btn btn-primary">提交更改</button>
				</div>
			</div>
			<!-- /.modal-content -->
		</div>
		<!-- /.modal -->
	</div>

js代码

/// 上传头像
$(function() {
	$('.image-editor').cropit();

	$('#sendPicBtn').click(function() {
        // imageData 是base64编码的字符串
		var imageData = $('.image-editor').cropit('export');
		sendPic(imageData);
	});
});

遇到的坑

1、html代码不能当道vue里面

2、img的max-width要设置为none

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值