国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - SpringMVC結(jié)合Jcrop實(shí)現(xiàn)圖片裁剪

SpringMVC結(jié)合Jcrop實(shí)現(xiàn)圖片裁剪

2020-07-20 13:41繁華穿越現(xiàn)實(shí) Java教程

這篇文章主要介紹了SpringMVC結(jié)合Jcrop實(shí)現(xiàn)圖片裁剪的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了SpringMVC結(jié)合Jcrop實(shí)現(xiàn)圖片裁剪的具體代碼,供大家參考,具體內(nèi)容如下

一、jsp頁面:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<form name="form" action="<%=request.getContextPath()%>/UploadDemo/uploadHeadImage" class="form-horizontal"
   method="post" enctype="multipart/form-data">
  <div class="modal-body text-center">
    <div class="zxx_main_con">
      <div class="zxx_test_list">
        <input class="photo-file" type="file" name="imgFile" id="fcupload" onchange="readURL(this);"/>
        <img alt="" src="" id="cutimg"/>
        <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"/>
      </div>
    </div>
  </div>
   
  <div class="modal-footer">
    <button id="submit" onclick="">上傳</button>
  </div>
</form>

二、jcrop組件引用情況:

?
1
2
3
<link rel="stylesheet" href="<c:url value="/resources/uploadPlugin/css/jquery.Jcrop.css"/>" type="text/css"></link>
  <script type="text/javascript" src="<c:url value="/resources/uploadPlugin/scripts/jquery-1.8.3.js"/>"></script>
  <script type="text/javascript" src="<c:url value="/resources/uploadPlugin/scripts/jquery.Jcrop.js"/>"></script>

三、jcrop使用方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<script type="text/javascript">
   //定義一個(gè)全局api,這樣操作起來比較靈活
    var api = null;
    function readURL(input) {
      if (input.files && input.files[0]) {
        var reader = new FileReader();
        reader.readAsDataURL(input.files[0]);
        reader.onload = function (e) {
          $('#cutimg').removeAttr('src');
          $('#cutimg').attr('src', e.target.result);
          api = $.Jcrop('#cutimg', {
            setSelect: [ 20, 20, 200, 200 ],
            aspectRatio: 1,
            onSelect: updateCoords
          });
        };
        if (api != undefined) {
          api.destroy();
        }
      }
      function updateCoords(obj) {
        $("#x").val(obj.x);
        $("#y").val(obj.y);
        $("#w").val(obj.w);
        $("#h").val(obj.h);
      };
    }
  </script>

四、后臺(tái)代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
@RequestMapping(value = "/uploadHeadImage")
  public String uploadHeadImage(
      HttpServletRequest request,
      @RequestParam(value = "x") String x,
      @RequestParam(value = "y") String y,
      @RequestParam(value = "h") String h,
      @RequestParam(value = "w") String w,
      @RequestParam(value = "imgFile") MultipartFile imageFile
  ) throws Exception{
    System.out.println("==========Start=============");
    String realPath = request.getSession().getServletContext().getRealPath("/");
    String resourcePath = "resources/uploadImages/";
    if(imageFile!=null){
      if(FileUploadUtil.allowUpload(imageFile.getContentType())){
        String fileName = FileUploadUtil.rename(imageFile.getOriginalFilename());
        int end = fileName.lastIndexOf(".");
        String saveName = fileName.substring(0,end);
        File dir = new File(realPath + resourcePath);
        if(!dir.exists()){
          dir.mkdirs();
        }
        File file = new File(dir,saveName+"_src.jpg");
        imageFile.transferTo(file);
        String srcImagePath = realPath + resourcePath + saveName;
        int imageX = Integer.parseInt(x);
        int imageY = Integer.parseInt(y);
        int imageH = Integer.parseInt(h);
        int imageW = Integer.parseInt(w);
        //這里開始截取操作
        System.out.println("==========imageCutStart=============");
        ImageCut.imgCut(srcImagePath,imageX,imageY,imageW,imageH);
        System.out.println("==========imageCutEnd=============");
      }
    }
    return "user/uploadImg/test";
  }

五、ImageCut.java工具類:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/**
   * 截取圖片
   * @param srcImageFile 原圖片地址
   * @param x  截取時(shí)的x坐標(biāo)
   * @param y  截取時(shí)的y坐標(biāo)
   * @param desWidth  截取的寬度
   * @param desHeight  截取的高度
   */
  public static void imgCut(String srcImageFile, int x, int y, int desWidth,
               int desHeight) {
    try {
      Image img;
      ImageFilter cropFilter;
      BufferedImage bi = ImageIO.read(new File(srcImageFile+"_src.jpg"));
      int srcWidth = bi.getWidth();
      int srcHeight = bi.getHeight();
      if (srcWidth >= desWidth && srcHeight >= desHeight) {
        Image image = bi.getScaledInstance(srcWidth, srcHeight,Image.SCALE_DEFAULT);
        cropFilter = new CropImageFilter(x, y, desWidth, desHeight);
        img = Toolkit.getDefaultToolkit().createImage(
            new FilteredImageSource(image.getSource(), cropFilter));
        BufferedImage tag = new BufferedImage(desWidth, desHeight,
            BufferedImage.TYPE_INT_RGB);
        Graphics g = tag.getGraphics();
        g.drawImage(img, 0, 0, null);
        g.dispose();
        //輸出文件
        ImageIO.write(tag, "JPEG", new File(srcImageFile+"_cut.jpg"));
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
  }

六、jcrop的兩種使用方式:

1、

?
1
2
3
4
jQuery('#cropbox').Jcrop({
         onChange: showCoords,
         onSelect: showCoords
      });

2、

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

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品久久久久久久久免费高清 | 超碰91在线| 国产另类ts人妖一区二区 | 国产成人欧美一区二区三区的 | 日韩在线一区二区 | 中文字幕第七页 | 欧美性猛交xxxx黑人猛交 | 中文字幕在线免费播放 | 日本一区二区三区视频免费看 | 中文日韩av | 色在线视频观看 | 亚洲成人一区在线观看 | 成人精品一区亚洲午夜久久久 | 欧美日韩一区二区三区在线观看 | 午夜精品福利网 | 国产欧美精品一区二区三区 | 在线视频91| 午夜羞羞| 国产精品第一页在线 | 日韩欧美视频一区 | av网址在线 | 日韩精品一区二区三区在线播放 | 亚洲天堂网站 | 婷婷国产成人精品视频 | 欧美一区二区三区四区不卡 | 亚洲尤物 | 狠狠的日| 少妇一级淫免费放 | 国产精品久久久久久模特 | 国产亚洲精品久久久闺蜜 | 色婷婷国产精品综合在线观看 | 免费观看av大片 | 一区亚洲 | 国产欧美综合视频 | 欧美一区久久 | 一本久道视频一本久道 | 国产精品视频一区二区三区 | 中文字幕一二三区 | 亚洲社区在线 | www.夜夜爽| 亚洲美女网址 |