<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
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        Asp.Net平臺下的圖片在線裁剪功能的實現代碼(源碼打包)

        來源:懂視網 責編:小采 時間:2020-11-27 22:42:40
        文檔

        Asp.Net平臺下的圖片在線裁剪功能的實現代碼(源碼打包)

        Asp.Net平臺下的圖片在線裁剪功能的實現代碼(源碼打包):1.前臺展現實現 網上找到這個jquery.Jcrop,稍看了下,發現它提供的效果完全能滿足項目需求. 官方網址:http://deepliquid.com/content/Jcrop.html,感興趣的朋友可去看看. 頁面先引用相關樣式和腳本: 代碼如下:<link href=Styles
        推薦度:
        導讀Asp.Net平臺下的圖片在線裁剪功能的實現代碼(源碼打包):1.前臺展現實現 網上找到這個jquery.Jcrop,稍看了下,發現它提供的效果完全能滿足項目需求. 官方網址:http://deepliquid.com/content/Jcrop.html,感興趣的朋友可去看看. 頁面先引用相關樣式和腳本: 代碼如下:<link href=Styles

        1.前臺展現實現

        網上找到這個jquery.Jcrop,稍看了下,發現它提供的效果完全能滿足項目需求.

        官方網址:http://deepliquid.com/content/Jcrop.html,感興趣的朋友可去看看.

        頁面先引用相關樣式和腳本:
        代碼如下:


        <link href="Styles/jquery.Jcrop.css" rel="stylesheet" type="text/css" />
        <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
        <script src="Scripts/jquery.Jcrop.js" type="text/javascript"></script>

        頁面body部分代碼:
        代碼如下:

        <asp:Label ID="Label1" Text="原始圖片" runat="server"></asp:Label><br />
        <asp:Image ID="target" runat="server" />
        <br />
        <asp:Label ID="Label2" runat="server" Text="最終顯示效果"></asp:Label>
        <div id="preImg" style="width: 150px; height: 80px; overflow: hidden;">
        <asp:Image ID="preview" alt="Preview" runat="server" />
        </div>

        其中ID為preImg的Style的width和height的值是裁剪圖片的尺寸,而且要定義這個DIV的overflow:hidden.能夠及時看到圖片的裁剪效果的關鍵CSS屬性就是它了.

        接下來講講jquery.Jcrop.js的基本用法,及相關javascript的實現.

        首先定義一些臨時變量,來保存相關參數

        var jcrop_api, boundx, boundy;

        然后給圖片的DOM元素綁定Jcrop功能,相關的方法屬性看英文就能明白其中的意思.
        代碼如下:


        $('#target').Jcrop({
        onChange: updatePreview,
        onSelect: updatePreview,
        onRelease: clearCoords,
        aspectRatio: 150 / 80,
        minSize: _minarray,
        setSelect: _array
        }, function () {
        var bounds = this.getBounds();
        boundx = bounds[0];
        boundy = bounds[1];
        jcrop_api = this;
        });
        //此方法是用來及時展現圖片裁剪效果
        function updatePreview(c) {
        if (parseInt(c.w) > 0) {
        var rx = 150 / c.w;
        var ry = 80 / c.h;
        var _width;
        var _height;
        if (Math.round(rx * boundx) > $targetImg.width()) {
        _width = $targetImg.width();
        }
        else {
        _width = Math.round(rx * boundx);
        }
        if (Math.round(ry * boundy) > $targetImg.height()) {
        _height = $targetImg.height();
        }
        else {
        _height = Math.round(ry * boundy);
        }
        $('#preview').css({
        width: _width + 'px',
        height: _height + 'px',
        marginLeft: '-' + Math.round(rx * c.x) + 'px',
        marginTop: '-' + Math.round(ry * c.y) + 'px'
        });
        }
        $('#x1').val(c.x);
        $('#y1').val(c.y);
        $('#Iwidth').val(c.w);
        $('#Iheight').val(c.h);
        };

        另一部分前臺代碼:
        代碼如下:

        <form id="Form1" runat="server">
        <asp:HiddenField ID="HdnNewImgPath" runat="server" />
        <asp:HiddenField ID="x1" runat="server" />
        <asp:HiddenField ID="y1" runat="server" />
        <asp:HiddenField ID="Iwidth" runat="server" />
        <asp:HiddenField ID="Iheight" runat="server" />
        <br />
        <asp:Button ID="SaveImg" runat="server" Text="裁剪并保存圖片" OnClick="saveImg" OnClientClick="return CheckIMG()" />
        </form>

        后臺代碼的實現:
        首先引用相關命名空間
        代碼如下:

        using System.Drawing;
        using System.Drawing.Imaging;
        using System.Drawing.Design;

        保存按鈕的方法,從頁面取到相關參數,然后調用裁剪方法.
        代碼如下:

        protected void saveImg(object sender, EventArgs e)
        {
        if (IsPostBack)
        {
        string tempurl = Path.Combine(ConfigAccess.UploadImagePath, _url);
        int startX = int.Parse(x1.Value);
        int startY = int.Parse(y1.Value);
        int width = int.Parse(Iwidth.Value);
        int height = int.Parse(Iheight.Value);
        ImgReduceCutOut(startX, startY, width, height, tempurl, tempurl);
        this.target.Visible = false;
        this.Label1.Visible = false;
        this.SaveImg.Enabled = false;
        }
        }

        接下是最重要的裁剪方法:
        代碼如下:

        //通過連接創建Image對象
        System.Drawing.Image oldimage = System.Drawing.Image.FromFile(input_ImgUrl);
        oldimage.Save(Server.MapPath("temp.jpg"));//把原圖Copy一份出來,然后在temp.jpg上進行裁剪,最后把裁剪后的圖片覆蓋原圖 oldimage.Dispose();//一定要釋放臨時圖片,要不之后的在此圖上的操作會報錯,原因沖突 Bitmap bm = new Bitmap(Server.MapPath("temp.jpg"));
        //處理JPG質量的函數
        ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
        ImageCodecInfo ici = null;
        foreach (ImageCodecInfo codec in codecs)
        {
        if (codec.MimeType == "image/jpeg")
        {
        ici = codec;
        break;
        }
        }
        EncoderParameters ep = new EncoderParameters();
        ep.Param[0] = new EncoderParameter(Encoder.Quality, (long)level);
        // 裁剪圖片
        Rectangle cloneRect = new Rectangle(startX, startY, int_Width, int_Height);
        PixelFormat format = bm.PixelFormat;
        Bitmap cloneBitmap = bm.Clone(cloneRect, format);
        if (int_Width > int_Standard_Width)
        {
        //縮小圖片
        System.Drawing.Image cutImg = cloneBitmap.GetThumbnailImage(int_Standard_Width, int_Standard_Height, new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero);
        cutImg.Save(out_ImgUrl, ici, ep);
        cutImg.Dispose();
        }
        else
        {
        //保存圖片
        cloneBitmap.Save(out_ImgUrl, ici, ep);
        }
        cloneBitmap.Dispose();
        bm.Dispose();
        }
        public bool ThumbnailCallback()
        {
        return false;
        }

        主要頁面源碼:source

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

        文檔

        Asp.Net平臺下的圖片在線裁剪功能的實現代碼(源碼打包)

        Asp.Net平臺下的圖片在線裁剪功能的實現代碼(源碼打包):1.前臺展現實現 網上找到這個jquery.Jcrop,稍看了下,發現它提供的效果完全能滿足項目需求. 官方網址:http://deepliquid.com/content/Jcrop.html,感興趣的朋友可去看看. 頁面先引用相關樣式和腳本: 代碼如下:<link href=Styles
        推薦度:
        標簽: 平臺 打包 代碼
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲精品欧洲精品| 亚洲男人第一av网站| 亚洲aⅴ无码专区在线观看春色 | 亚洲日本久久一区二区va| 在线观看免费av网站| 亚洲成a人片7777| 久久WWW色情成人免费观看| 亚洲色大成网站www| 国产精品视_精品国产免费| 国产精品久久久久久亚洲小说| 日本免费福利视频| 污视频网站在线免费看| 亚洲色偷拍区另类无码专区| 中国性猛交xxxxx免费看| 亚洲av无码一区二区三区乱子伦| 84pao国产成视频免费播放| 亚洲中文久久精品无码1| 日韩电影免费在线观看视频 | 在线看片免费人成视频久网下载| 日本红怡院亚洲红怡院最新 | 无码人妻一区二区三区免费看| 亚洲视频2020| 最近最好的中文字幕2019免费| 男性gay黄免费网站| 亚洲AV日韩AV天堂久久| 黄页网站在线观看免费高清| 精品国产亚洲第一区二区三区| 亚洲精品国产日韩无码AV永久免费网| 18禁超污无遮挡无码免费网站| 亚洲成年人电影网站| 免费人妻无码不卡中文字幕18禁| 黄网站免费在线观看| 亚洲欧洲无卡二区视頻| 亚洲人成中文字幕在线观看| 亚洲免费电影网站| 免费人成动漫在线播放r18| 亚洲小视频在线观看| 国产成人免费a在线视频app | 国产免费毛不卡片| 一个人看的在线免费视频| 亚洲天堂一区二区三区|