• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答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
    主站蜘蛛池模板: 1区1区3区4区产品芒果精品| 69国产成人综合久久精品| 91精品一区二区综合在线| 亚洲午夜成人精品电影在线观看| 精品久久久久久综合日本| 亚洲欧美激情精品一区二区| Xx性欧美肥妇精品久久久久久 | 亚洲AV无码成人精品区天堂 | 国内精品久久久久久野外| 亚洲AV永久青草无码精品| 久草欧美精品在线观看| 国产成人精品免费大全| 国产精品久久国产精麻豆99网站 | 亚洲国产精品一区二区第一页| 精品无人区无码乱码大片国产| 亚洲国产成人久久精品动漫| 91麻豆国产福利精品| 国产乱人伦偷精品视频免下载| 亚洲精品V欧洲精品V日韩精品| 日韩精品电影一区亚洲| 久久精品国产黑森林| 久久成人精品| 久久免费国产精品| 久久久久国产精品麻豆AR影院 | 久久精品国产精品国产精品污 | 精品无人区无码乱码毛片国产| 成人精品一区二区久久久| 国产在线精品网址你懂的| 精品国产网红福利在线观看| .精品久久久麻豆国产精品| 国产成人精品视频一区二区不卡 | 国产在线观看高清精品| 国产69精品久久久久99尤物| 99热热久久这里只有精品68| 最新国产精品亚洲| 国产精品女人呻吟在线观看| 国产一区麻豆剧传媒果冻精品| 久久久久99精品成人片三人毛片| 欧美国产精品va在线观看| 无码精品蜜桃一区二区三区WW| 无码日韩精品一区二区人妻|