宝哥软件园

如何使用jQuery jcrop插件的截图

编辑:宝哥软件园 来源:互联网 时间:2021-11-13

在背景中剪切图片。头像截取原理:在前景中使用jcrop获取剖切面的x轴坐标、y轴坐标、高度和宽度,然后将这四个值发送给背景。背景放大:将该部分放大N倍,其中N=前景显示的原图/头像。即X=X*原宽/前宽,Y=Y*原高/前高,W=W*原宽/前宽,H=H*原高/前高。示例:JSP:复制代码如下: div id=' cuti image ' style=' display 3360 none;'div class=' BigIMg ' style=' float : left;'img id=' srcImg ' src=' http : ' width=' 400 px ' height=' 270 px '/div div id=' preview _ box ' class=' previewImg ' img id=' previewImg ' src=' http : ' width=' 120 px '/div div form action=' method=' post ' id=' crop _ form ' input type=' hidden ' id=' big image ' name=' big image '/input type='也就是说,img width=''height=''/然后使用jcrop。在使用jcop之前,我们需要下载jcop:http://deepliquid.com/content/Jcrop.html.解压缩下载的压缩包后,您可以看到三个文件夹和一个index.html文件。Jcorp的样式文件放在/css下,几个简单的例子放在/demo下(index.html引用的链接放在这个文件夹下),Jcorp中最重要的脚本文件放在/js下。我们只需要使用三个文件:jquery。Jcrop.css,jquery。Jcrop.js,和JQuery.js用法:复制代码如下://裁剪图像functionCutimage () {$ ('# src img ')。jcrop({长宽比: 1,onChange : showCoords,onSelect : showCoords,minSize :[200,200]});//一个简单的事件处理程序,响应onChange、onSelect事件,调用函数show coords (obj) {$ ('# x ')。val (obj.x)根据上面的Jcrop$('#y ')。瓦尔(obj . y);$('#w ')。val(obj . w);$('#h ')。val(obj . h);if(parsent(obj . w)0){//计算预览区域图片的比例,得到varrx=$ ('# preview _ box ')。width ()/obj。w通过计算显示区域的宽度(和高度)与剪辑的宽度(和高度)之比;var ry=$('#preview_box ')。height()/obj . h;//通过比例值$ ('# previewimg ')控制图片的样式和显示。CSS({ width : path。round (rx * $ ('# src img ')。width ())' px ',//预览图片宽度是计算出的比例值与原始图片宽度height:math的乘积。round (rx * $ ('# src img ')。height ())' px ',//预览图片高度是计算出的比例值与原始图片高度的乘积,margin left : '-' math . round(rx * obj . x)' px ',margin lop 3360 '-' math . round(ry * obj . y)' px ' });}}}一定要放$(" ")。使用jcrop之前的jcrop();进行预初始化,否则无效。还有一个调用方法,复制代码如下:VAR API=$。j裁剪(' #裁剪框',{onchange 3360显示预览,on select 3360显示预览,纵横比: 1 });该方法将Jcrop生成的对象赋给一个全局变量,使得操作更加方便。通过上面的js,将X轴坐标、Y轴坐标、高度H、宽度W四个值传递给背景,背景只需要根据这四个值放大后进行裁剪即可。

行动起来你好绿筠小姐3330/* *你是谁*/public String cutImage(){/* *哎哎哎哎* x、y、w、h、大图像*/httpersvletrequest=(httpersvletrequest)动作上下文。获取上下文().get(ServletActionContext).HTTP_REQUEST:int x=整数。(请求)的值。获取参数(' x ');int y=整数。(请求)的值。获取参数(' y ');int w=整数。(请求)的值。获取参数(' w ');int h=整数。(请求)的值。获取参数(' h ');字符串bigimage=请求。get参数(' big image ');//孙悟空(音译)//哎哎哎哎字符串[]imagename=big image。split('/');string image name=image name[image name。长度-1];//诶诶哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟imagePath字符串=getsavepath()“ ”图像名称;//贺盛瑞(音译)ImageCut ImageCut=new ImageCut():ImageCut . cut image(imagePath、x、y、w、h);//喂,喂,喂,喂,喂,喂,喂,喂,喂,喂,喂,喂,喂,喂,喂,喂,喂,喂,喂,喂,喂,喂,喂,喂,喂,喂,喂,喂,喂,喂,喂,喂,喂,喂,喂,鲁仲尼鲁仲尼鲁仲尼userbean=(userbean)请求。获取会话().getAttribute('userBean '):用户Bean。setuser kphotoalbum(大图像);//元云用户中心服务中心服务=新用户中心服务();centerService.updatePhoto(用户Bean)://贾克琳贾克琳贾克琳会话数何曰request.getSession().setAttribute('userBean ',userBean):返回"更新照片";}}星历1860年:ImageCut.java你好绿筠小姐3330公共类ImageCut {/* * *哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟* @param imagePath嚯嚯嚯嚯嚯嚯嚯嚯嚯嚯嚯嚯嚯嚯嚯嚯嚯嚯嚯嚯嚯嚯嚯嚯嚯嚯嚯嚯嚯嚯嚯* @param x张伯伦医生x个阿忠* @param y张伯伦医生然后呢阿忠* @param w阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔是阿金* @param h阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿云*/public void cutimage(字符串图像路径,int x,int y,int w,int h){ try { image img;图像过滤器cropfilter/诶诶哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟bufferedimage bi=imageio。阅读(新文件(图像路径));int src宽度=bi。get width();//云娥int src高度=bi。get height();//高丽高丽//范国泰范国泰范国泰,哎哎哎哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟if(src宽度=w srcHeight=h){ Image=bi。获取缩放比例(src宽度、src高度、图像)。SCALE_DEFAULT:int x1=x * src宽度/400;(同Internationalorganizations)国际组织和1=y * src高度/270;内部w1=w * src宽度/400;内部h1=h * src高度/270;cropfilter=新建镀铬过滤器(x1,y1,w1,h1);img=Toolkit.getDefaultToolkit().创建图像(新的filteredimagesource(图像。get source()、cropfizer();缓冲图像标签=新的缓冲图像(w1,h1,缓冲图像).TYPE_INT_RGB:图形g=标签。get graphics();g.drawImage(img,0,0,null);//陈力强,陈力强,陈力强,陈力强,陈力强,陈力强,陈力强,陈力强,陈力强,陈力强,陈力强,陈力强,陈力强,陈力强,陈力强,陈力强,陈力强,陈力强g。处置();//阿叔呀阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔imageio。写入(标签、' JPEG '、新档案(图像路径));} } catch(io异常e){ e . print stack trace();} }

更多资讯
游戏推荐
更多+