亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jQuery jcrop插件截圖使用方法

2019-11-20 21:37:56
字體:
來源:轉載
供稿:網友

在后臺來進行圖片切割。
頭像截取的原理:在前臺使用jcrop獲取切面的x軸坐標、y軸坐標、切面高度、切面寬度,然后將這四個值傳給后
臺。在后臺要進行放大處理:將切面放大N倍,N=原圖/前臺展示的頭像。即X = X*原圖寬/前圖寬,Y = Y*原圖高/前
圖高,W = W*原圖寬/前圖寬,H = H*原圖高/前圖高。
實例:
JSP:

復制代碼 代碼如下:

<div id="cutImage" style="display: none;">
 <div class="bigImg" style="float: left;">
     <img id="srcImg" src="" width="400px" height="270px"/>
 </div>
 <div id="preview_box" class="previewImg">
     <img id="previewImg" src="" width="120px"/>
 </div>

 <div >
 <form action="" method="post" id="crop_form">
      <input type="hidden" id="bigImage" name="bigImage"/>
    <input type="hidden" id="x" name="x" />
    <input type="hidden" id="y" name="y" />
    <input type="hidden" id="w" name="w" />
    <input type="hidden" id="h" name="h" />
    <P><input type="button" value="確認" id="crop_submit"/></P>
     </form>
</div>
    </div>

樣式:大圖、小圖展示都需要固定高度、寬度,因為后臺需要進行放大處理。即:<img width=""height=""/>
然后是使用jcrop了。在使用jcrop前我們需要下載jcrop:http://deepliquid.com/content/Jcrop.html。
將下載的壓縮包解壓后可以看到三個文件夾及一個index.html文件,/ css下放置的是Jcorp的樣式文件,/demo下放置的是幾個簡單的例子(index.html中引用的鏈接就是放置在這個文件夾下),/js下放置的是Jcorp中最重要的腳本文件。我們只需要使用三個文件即可:jquery.Jcrop.css、jquery.Jcrop.js、JQuery.js
使用方法:

復制代碼 代碼如下:

//裁剪圖像
function cutImage(){
    $("#srcImg").Jcrop( {
     aspectRatio : 1,
     onChange : showCoords,
     onSelect : showCoords,
     minSize :[200,200]
 });
 //簡單的事件處理程序,響應自onChange,onSelect事件,按照上面的Jcrop調用
 function showCoords(obj) {
     $("#x").val(obj.x);
     $("#y").val(obj.y);
     $("#w").val(obj.w);
     $("#h").val(obj.h);
     if (parseInt(obj.w) > 0) {
  //計算預覽區域圖片縮放的比例,通過計算顯示區域的寬度(與高度)與剪裁的寬度(與高度)之比得到
  var rx = $("#preview_box").width() / obj.w;
  var ry = $("#preview_box").height() / obj.h;
  //通過比例值控制圖片的樣式與顯示
  $("#previewImg").css( {
      width : Math.round(rx * $("#srcImg").width()) + "px", //預覽圖片寬度為計算比例值與原圖片寬度的乘積
      height : Math.round(rx * $("#srcImg").height()) + "px", //預覽圖片高度為計算比例值與原圖片高度的乘積
      marginLeft : "-" + Math.round(rx * obj.x) + "px",
      marginTop : "-" + Math.round(ry * obj.y) + "px"
  });
     }
 }
}

在使用jcrop前一定要先將$(“”).jcrop();進行預初始化,否則沒有效果。
 還有一種調用的方法,

   

復制代碼 代碼如下:

    var api = $.Jcrop('#cropbox',{
    onChange: showPreview,
    onSelect: showPreview,
    aspectRatio: 1
    });
   

這種方法是將Jcrop生成的對象賦給一個全局變量,這樣操作就會比較方便。
通過上面的js,就將X軸坐標、Y軸坐標、高度H、寬度W這個四個值傳遞給后臺了,后臺就只需要根據這四個值
進行放大處理,然后切割即可。

 Action

復制代碼 代碼如下:

/**
     * 裁剪頭像
     */
    public String cutImage(){
 /*
  * 獲取參數
  * x,y,w,h,bigImage
  */
 HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
 int x = Integer.valueOf(request.getParameter("x"));
 int y = Integer.valueOf(request.getParameter("y"));
 int w = Integer.valueOf(request.getParameter("w"));
 int h = Integer.valueOf(request.getParameter("h"));
 String bigImage = request.getParameter("bigImage");  

 //獲取文件真實路徑
 //獲取文件名
 String[] imageNameS = bigImage.split("/");
 String imageName = imageNameS[imageNameS.length-1];
 //文件正式路徑
 String imagePath = getSavePath()+"http://"+imageName;

 //切割圖片
 ImageCut imageCut = new ImageCut();
 imageCut.cutImage(imagePath, x, y, w, h);

 //頭像裁剪完成后,將圖片路徑保存到用戶
 UserBean userBean = (UserBean) request.getSession().getAttribute("userBean");
 userBean.setUserPhoto(bigImage);
 //保存頭像
 UserCenterService centerService = new UserCenterService();
 centerService.updatePhoto(userBean);
 //將修改后的用戶保存到session中
 request.getSession().setAttribute("userBean", userBean);

 return "updatePhoto";
    }
}

裁剪圖片工具類:ImageCut.java

復制代碼 代碼如下:

public class ImageCut {

    /**
     * 圖片切割
     * @param imagePath  原圖地址
     * @param x  目標切片坐標 X軸起點
     * @param y     目標切片坐標 Y軸起點
     * @param w  目標切片 寬度
     * @param h  目標切片 高度
     */
    public void cutImage(String imagePath, int x ,int y ,int w,int h){
 try {
     Image img;
     ImageFilter cropFilter;
     // 讀取源圖像
     BufferedImage bi = ImageIO.read(new File(imagePath));
     int srcWidth = bi.getWidth();      // 源圖寬度
     int srcHeight = bi.getHeight();    // 源圖高度

     //若原圖大小大于切片大小,則進行切割
     if (srcWidth >= w && srcHeight >= h) {
  Image image = bi.getScaledInstance(srcWidth, srcHeight,Image.SCALE_DEFAULT);

  int x1 = x*srcWidth/400;
  int y1 = y*srcHeight/270;
  int w1 = w*srcWidth/400;
  int h1 = h*srcHeight/270;

  cropFilter = new CropImageFilter(x1, y1, w1, h1);
  img = Toolkit.getDefaultToolkit().createImage(new FilteredImageSource(image.getSource(), cropFilter));
  BufferedImage tag = new BufferedImage(w1, h1,BufferedImage.TYPE_INT_RGB);
  Graphics g = tag.getGraphics();
  g.drawImage(img, 0, 0, null); // 繪制縮小后的圖
  g.dispose();
  // 輸出為文件
  ImageIO.write(tag, "JPEG", new File(imagePath));
     }
 } catch (IOException e) {
     e.printStackTrace();
 }
    }
}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品日韩av| 91久久久久久久久久久| 日韩精品999| 97成人在线视频| 亚洲jizzjizz日本少妇| 亚洲美女av在线播放| 成人免费淫片视频软件| 九九久久综合网站| 亚洲伊人成综合成人网| 亚洲欧美一区二区三区四区| 色综合久久中文字幕综合网小说| 欧美综合第一页| 欧美日本亚洲视频| 日韩69视频在线观看| 亚洲在线一区二区| 亚洲性69xxxbbb| 日韩精品在线私人| 日韩精品在线免费观看视频| 欧美xxxx做受欧美| 国产成人激情视频| 日韩中文字幕亚洲| 色播久久人人爽人人爽人人片视av| 国外成人性视频| 国产有码在线一区二区视频| 欧美国产在线电影| 国产欧美精品一区二区三区介绍| 亚洲性日韩精品一区二区| 精品国产老师黑色丝袜高跟鞋| 精品亚洲va在线va天堂资源站| 久久精品最新地址| 日韩免费在线观看视频| 久久91精品国产91久久跳| 成人欧美一区二区三区在线| 日韩欧美一区视频| 国产精品美女久久久久av超清| 日本不卡视频在线播放| 国产精品一区=区| 精品国产区一区二区三区在线观看| 影音先锋日韩有码| 国产极品精品在线观看| 成人啪啪免费看| 久久在精品线影院精品国产| 亚洲影院色在线观看免费| 日韩中文字幕免费看| 国产精品三级在线| 日韩在线免费av| 国产精品网站入口| 国产日韩欧美在线看| 亚州成人av在线| 国产一区二区精品丝袜| 欧美激情亚洲另类| 91精品在线国产| 欧美日韩免费区域视频在线观看| 国产三级精品网站| 日韩中文视频免费在线观看| 国产精品一区二区av影院萌芽| 欧美巨猛xxxx猛交黑人97人| 精品国产成人在线| 一本色道久久88综合日韩精品| 日韩欧美精品中文字幕| 91在线免费观看网站| 午夜精品一区二区三区在线视频| 成人免费午夜电影| 国产精品爽黄69| 欧美亚洲在线观看| 亚洲aa中文字幕| 亚洲一区精品电影| 欧美久久久精品| 日韩中文视频免费在线观看| www.日韩不卡电影av| 欧美日韩午夜激情| 日韩中文字幕在线视频播放| 亚洲福利视频免费观看| 欧美第一黄网免费网站| 国产精品jizz在线观看麻豆| 久久久久久免费精品| 97在线观看视频| 91av免费观看91av精品在线| 久久久久久这里只有精品| 中文字幕久精品免费视频| 日韩中文字幕av| 亚洲国模精品一区| 国色天香2019中文字幕在线观看| 欧美性猛交xxxx免费看漫画| 国产精品久久久久秋霞鲁丝| 欧美乱人伦中文字幕在线| 欧美亚洲成人免费| 欧美性生交大片免费| 亚洲国产精品va在线看黑人| 欧美成人国产va精品日本一级| 欧美视频13p| 欧美限制级电影在线观看| 国产精品一二三在线| 国产美女高潮久久白浆| 久久中文久久字幕| 国产91成人在在线播放| 欧美成人自拍视频| 性夜试看影院91社区| 精品高清一区二区三区| 日韩中文在线中文网三级| 青青草成人在线| 日韩av男人的天堂| 成人激情在线观看| 国产综合福利在线| 欧美日韩国产一中文字不卡| 亚洲国产精品久久久久秋霞蜜臀| 国产精品爱啪在线线免费观看| 日韩精品视频免费| 97在线视频一区| 91国内在线视频| 91丨九色丨国产在线| 亚洲男女自偷自拍图片另类| 国产精品第二页| 亚洲伊人成综合成人网| 国产亚洲成精品久久| 国产欧美一区二区三区在线| 成人国产精品久久久久久亚洲| 欧美在线视频观看| 黑人精品xxx一区| 日韩国产精品亚洲а∨天堂免| 亚洲福利小视频| 亚洲国产成人在线视频| 欧美久久精品一级黑人c片| 国产免费观看久久黄| 久久精品国产69国产精品亚洲| 久久久久久尹人网香蕉| 国产精品久久久久免费a∨| 国产伦精品免费视频| 国产精品私拍pans大尺度在线| 国产欧美va欧美va香蕉在线| 国产精品美女999| 欧美在线观看视频| 日本一区二区三区四区视频| 91最新在线免费观看| 亚洲精品99久久久久| 97免费视频在线播放| 国产精品aaaa| 55夜色66夜色国产精品视频| 国产精品福利片| 亚洲欧美在线看| 久久精品视频在线观看| 欧美性视频在线| 国产视频福利一区| 伊人久久久久久久久久久久久| 欧美国产日韩免费| 91爱视频在线| 92裸体在线视频网站| 亚洲精品999| 中文字幕精品在线视频| 不卡在线观看电视剧完整版| 久久国产加勒比精品无码| 久久伊人精品视频| 久久精品99国产精品酒店日本| 欧美精品制服第一页| 日韩一区二区三区在线播放| 伊人成人开心激情综合网| 国产亚洲精品成人av久久ww| 国产伦精品免费视频| 国产suv精品一区二区三区88区| 韩国精品美女www爽爽爽视频| 在线播放国产一区二区三区| 亚洲成av人影院在线观看| 欧美激情免费看| 国产欧美日韩精品在线观看|