<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        jQueryjcrop插件截圖使用方法_jquery

        來源:懂視網 責編:小采 時間:2020-11-27 21:16:06
        文檔

        jQueryjcrop插件截圖使用方法_jquery

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

        代碼如下:










        樣式:大圖、小圖展示都需要固定高度、寬度,因為后臺需要進行放大處理。即:
        然后是使用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()+"\\"+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();
        }
        }
        }

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        jQueryjcrop插件截圖使用方法_jquery

        jQueryjcrop插件截圖使用方法_jquery:在后臺來進行圖片切割。頭像截取的原理:在前臺使用jcrop獲取切面的x軸坐標、y軸坐標、切面高度、切面寬度,然后將這四個值傳給后臺。在后臺要進行放大處理:將切面放大N倍,N=原圖/前臺展示的頭像。即X = X*原圖寬/前圖寬,Y = Y*原圖高/前圖高,W = W
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 好爽又高潮了毛片免费下载| 免费国产黄网站在线观看| 无码视频免费一区二三区| 亚洲欧洲日产v特级毛片| 久久午夜夜伦鲁鲁片免费无码| 亚洲av中文无码乱人伦在线咪咕| 一级有奶水毛片免费看| 伊人久久精品亚洲午夜| 国产裸体美女永久免费无遮挡| 中文字幕久久亚洲一区| 久久久精品视频免费观看| 亚洲精品国产精品乱码在线观看| 在线播放免费人成毛片乱码| 亚洲国产一区在线| 69式互添免费视频| 亚洲色偷偷偷综合网| 国产在线播放免费| 巨胸喷奶水www永久免费 | 免费人成在线观看网站品爱网 | 精品久久久久久亚洲精品| 成人免费视频88| 性生大片视频免费观看一级| 亚洲中文字幕在线第六区| 99xxoo视频在线永久免费观看| 亚洲av片不卡无码久久| 四虎永久成人免费| 免费a级毛片无码a∨免费软件| 亚洲激情电影在线| 国产真人无遮挡作爱免费视频 | 视频一区在线免费观看| 亚洲中文字幕无码久久精品1| 少妇人妻偷人精品免费视频| 国产亚洲sss在线播放| 免费人成视网站在线观看不卡 | 国产成人A在线观看视频免费| 亚洲AV日韩AV永久无码色欲| 在线a亚洲v天堂网2019无码| 久久精品国产免费观看 | 精品国产亚洲AV麻豆| 亚洲高清国产AV拍精品青青草原 | 亚洲免费视频播放|