做为网站前段开发人员来说,用户头像剪裁和上传是一个很常用的功能,一般这个功能涉及到图片的放大,缩小,移动,旋转,和剪裁。下面我们来做一个完整的demo,剪裁后的图片以base64的形式返回,base64怎么上传到后台服务器,很简单,这里不做介绍。
图片的操作:手机端操作和其他手机图片应用操作没有任何区别。
PC端:通过鼠标的滚轮是实现图片的放大缩小,长按左键移动鼠标实现图片的移动,双击图片现实图片的旋转。
在这个demo中,我们使用jQuery的插件(jquery.photoClip.js)完成。【在我的下一个博客我们分析下photoClip的源码实现】。在使用jquery.photoClip.js,我们还得添加几个依赖插件:iscroll-zoom.js(实现图片的移动)、hammer.js、lrz.all.bundle.js。(这3个js扩展库,在我给出的demo下载地址一并给出)。下面是简单实现的源码:
<!doctype html>
<html lang="zh-CN" id="index">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="format-detection" content="telephone=no, email=no" />
<meta name="keywords" content="">
<meta name="description" content="">
<title>图片裁剪</title>
<style>
body {
margin: 0;
text-align: center;
}
#clipArea {
margin: auto;
height: 400px;
width: 400px;
}
#file,
#clipBtn {
margin: 20px;
}
#view {
margin: 0 auto;
width: 200px;
height: 200px;
}
</style>
</head>
<body ontouchstart="">
<div id="clipArea"></div>
<input type="file" id="file">
<button id="clipBtn">截取</button>
<div id="view"></div>
<script src="http://libs.baidu.com/jquery/2.1.1/jquery.min.js"></script>
<script src="js/iscroll-zoom.js"></script> <!--实现图片的移动-->
<script src="js/hammer.js"></script>
<script src="js/lrz.all.bundle.js"></script>
<script src="js/jquery.photoClip.js"></script> <!--实现图片的剪裁-->
<script>
//document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
var clipArea = new bjj.PhotoClip("#clipArea", { // #clipArea;包含剪裁图片div的ID
size: [260, 260], //剪裁完成的图片height,width
outputSize: [640, 640], //剪裁框的height,width
file: "#file", //文件上传框ID
view: "#view", //预览div的ID
ok: "#clipBtn", //剪裁开始按钮ID
loadStart: function() {
console.log("照片读取中");
},
loadComplete: function() {
console.log("照片读取完成");
},
clipFinish: function(dataURL) {
console.log(dataURL); //剪裁完成后返回的base64.可以直接上传至服务器。
}
});
</script>
</body>
</html>
相关推荐
本资源“上传头像裁剪预览5个案例”提供了五个不同的实现方案,涵盖了.NET和PHP两种主流的后端开发语言,旨在帮助开发者构建类似开心网和新浪等知名网站的头像上传效果。 1. **BitmapCutter**: 这个案例可能是一个...
在网站开发中,用户头像上传、裁剪与修改功能是一项常见的需求,它允许用户个性化地展示自己的形象。本文将详细讲解如何实现这样一个功能,并基于提供的"头像上传"标签进行深入探讨。 首先,我们需要一个文件上传...
Java版的头像上传、缩放和裁剪功能是许多Web应用中不可或缺的一部分,尤其是在社交网络、用户管理系统等场景下。这个源码提供了一个实现这一功能的解决方案。下面将详细介绍这个功能涉及的主要知识点: 1. **文件...
在IT行业中,Flash头像上传Demo是一个常见的交互功能,它允许用户通过网页便捷地上传个人头像。这个Demo是基于Adobe Flash技术实现的,而Flash曾经是互联网上广泛使用的多媒体平台,尤其在创建动态内容、游戏和交互...
综上所述,这个项目是一个使用WPF和C#开发的图像处理应用,主要功能是让用户能够上传头像图片并进行剪裁,同时支持图片的缩放操作。通过`ImageCutor.xaml`和`ImageCutor.xaml.cs`两个文件,我们可以了解到WPF中UI...
在IT行业中,前端开发经常会遇到用户需要上传图片并进行预览和剪裁的需求,以便将裁剪后的图片作为个人头像或者其他用途。本资源“jQuery实现的拖动剪裁图片上传作为头像特效源码”提供了一种解决方案,它利用jQuery...
这个功能在许多网站和个人社交媒体平台中都十分常见,它允许用户自定义上传的图片大小和形状,以适应不同的展示需求。以下是关于这个实例开发中的关键知识点: 1. **PHP**:PHP是一种广泛使用的服务器端脚本语言,...
在我们的案例中,Bootstrap将用于构建用户界面,提供美观且易于使用的头像裁剪界面。 实现步骤如下: 1. **设置HTML结构**:创建一个包含`<img>`元素的表单,用于显示上传的图像,以及一个用于提交的按钮。使用...
该压缩包文件主要涉及到的是一个安卓应用,用于头像制作,特别是图片的圆角剪裁功能。这个应用设计得非常实用,能够适应不同型号的手机,包括小米和华为等常见品牌,确保用户在各种设备上都能顺利使用。不仅如此,该...
《mine.html脚本1675.zip:头像剪裁上传功能详解》 在IT行业中,用户界面的设计和交互体验至关重要,特别是在涉及到个人形象展示时,如头像上传功能。"mine.html脚本1675.zip" 文件提供了一个关于头像剪裁上传功能...
在网页设计中,图片上传和处理是一项常见的需求,用户可能需要上传个人头像、产品图片等,而为了保持页面的美观和一致性,通常需要对上传的图片进行剪裁。Image Upload and Auto Crop v1.2 是一个基于jQuery的解决...
就是上传一个图片以后,把裁剪成固定大小或放小放大的图片一般用来做自,用于剪裁缩放比例,或指定区域剪裁图片,做为大头像,本资源全部开放源码,免费用, 有不懂的地方,请QQ:524959071,或13075650875欧先生联系 注意:不...
标题中的“jquery+asp.net无刷新上传头像(图片裁切)”是指利用jQuery库和ASP.NET框架,构建一个无需页面刷新的头像上传系统,并且包含图片裁剪功能。这个系统允许用户选择并上传图片,然后在服务器端处理图片,进行...
这种技术广泛应用于个人头像设置、照片编辑、图像预览等功能中,提高了用户体验,使得用户能够自定义其上传图像的展示形式。 在JavaScript中实现图片剪裁功能,通常会结合HTML5的Canvas元素和相关API,如`drawImage...
在iOS和Android等移动操作系统中,用户经常需要从系统相册选择图片并进行剪裁以适应特定的应用场景,如设置头像、分享照片等。"获取系统相册中的图片然后剪裁的demo"是一个示例项目,它展示了如何实现这个功能。在这...
在ASP.NET应用中,图片裁剪功能常用于用户上传头像、产品图片等场景,允许用户根据需求选择图片的裁剪区域,以得到所需的特定部分。这个控件的实现主要涉及以下几个知识点: 1. **C#编程基础**:C#是.NET框架的基础...
jQuery.cropper插件正是为了解决这一需求而诞生的,它是一个高效、易用的图片裁剪工具,广泛应用于图像上传、头像裁剪、产品展示等场景。下面我们将详细探讨这款插件的核心特性和使用方法。 首先,jQuery.cropper...