zoukankan      html  css  js  c++  java
  • Jquery及插件 应用

    分隔图片

    http://www.mikesdotnetting.com/Article.aspx?ArticleID=95

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="UploadAndCrop.aspx.cs" Inherits="UploadAndCrop" %>

     

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">

    <head runat="server">

      <title></title>

     

    </head>

    <body>

      <form id="form1" runat="server">

      <div>

        <asp:Panel ID="pnlUpload" runat="server">

          <asp:FileUpload ID="Upload" runat="server" />

          <br />

          <asp:Button ID="btnUpload" runat="server" OnClick="btnUpload_Click" Text="Upload" />

          <asp:Label ID="lblError" runat="server" Visible="false" />

        </asp:Panel>

        <asp:Panel ID="pnlCrop" runat="server" Visible="false">

          <asp:Image ID="imgCrop" runat="server" />

          <br />

          <asp:HiddenField ID="X" runat="server" />

          <asp:HiddenField ID="Y" runat="server" />

          <asp:HiddenField ID="W" runat="server" />

          <asp:HiddenField ID="H" runat="server" />

          <asp:Button ID="btnCrop" runat="server" Text="Crop" OnClick="btnCrop_Click" />

        </asp:Panel>

        <asp:Panel ID="pnlCropped" runat="server" Visible="false">

          <asp:Image ID="imgCropped" runat="server" />

        </asp:Panel>

      </div>

      </form>
    </body>
    </html>

     

    <link href="css/jquery.Jcrop.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
    <script type="text/javascript" src="script/jquery.Jcrop.pack.js"></script>

     

    <script type="text/javascript">

      jQuery(document).ready(function() {

        jQuery('#imgCrop').Jcrop({

          onSelect: storeCoords

        });

      });

     

      function storeCoords(c) {

        jQuery('#X').val(c.x);

        jQuery('#Y').val(c.y);

        jQuery('#W').val(c.w);

        jQuery('#H').val(c.h);

      };

     

    </script>

     

     

    String path = HttpContext.Current.Request.PhysicalApplicationPath + "images\\";

     

    protected void Page_Load(object sender, EventArgs e)

    {}

     

     

    protected void btnUpload_Click(object sender, EventArgs e)

    {

      Boolean FileOK = false;

      Boolean FileSaved = false;

     

      if (Upload.HasFile)

      {

        Session["WorkingImage"] = Upload.FileName;

        String FileExtension = Path.GetExtension(Session["WorkingImage"].ToString()).ToLower();

        String[] allowedExtensions = { ".png", ".jpeg", ".jpg", ".gif" };

        for (int i = 0; i < allowedExtensions.Length; i++)

        {

          if (FileExtension == allowedExtensions[i])

          {

            FileOK = true;

          }

        }

      }

     

      if (FileOK)

      {

        try

        {

          Upload.PostedFile.SaveAs(path + Session["WorkingImage"]);

          FileSaved = true;

        }

        catch (Exception ex)

        {

          lblError.Text = "File could not be uploaded." + ex.Message.ToString();

          lblError.Visible = true;

          FileSaved = false;

        }

      }

      else

      {

        lblError.Text = "Cannot accept files of this type.";

        lblError.Visible = true;

      }

     if (FileSaved)

      {

        pnlUpload.Visible = false;

        pnlCrop.Visible = true;

        imgCrop.ImageUrl = "images/" + Session["WorkingImage"].ToString();

      }

    }

    protected void btnCrop_Click(object sender, EventArgs e)

    {

      string ImageName = Session["WorkingImage"].ToString();

      int w = Convert.ToInt32(W.Value);

      int h = Convert.ToInt32(H.Value);

      int x = Convert.ToInt32(X.Value);

      int y = Convert.ToInt32(Y.Value);

     

      byte[] CropImage = Crop(path + ImageName, w, h, x, y);

      using (MemoryStream ms = new MemoryStream(CropImage, 0, CropImage.Length))

      {

        ms.Write(CropImage, 0, CropImage.Length);

        using(SD.Image CroppedImage = SD.Image.FromStream(ms, true))

        {

          string SaveTo = path + "crop" + ImageName;

          CroppedImage.Save(SaveTo, CroppedImage.RawFormat);

          pnlCrop.Visible = false;

          pnlCropped.Visible = true;

          imgCropped.ImageUrl = "images/crop" + ImageName;

        }

      }

    }

     

    static byte[] Crop(string Img, int Width, int Height, int X, int Y)

    {

      try

      {

        using (SD.Image OriginalImage = SD.Image.FromFile(Img))

        {

          using (SD.Bitmap bmp = new SD.Bitmap(Width, Height, OriginalImage.PixelFormat))

          {

            bmp.SetResolution(OriginalImage.HorizontalResolution, OriginalImage.VerticalResolution);

            using (SD.Graphics Graphic = SD.Graphics.FromImage(bmp))

            {

              Graphic.SmoothingMode = SmoothingMode.AntiAlias;

              Graphic.InterpolationMode = InterpolationMode.HighQualityBicubic;

              Graphic.PixelOffsetMode = PixelOffsetMode.HighQuality;

              Graphic.DrawImage(OriginalImage, new SD.Rectangle(0, 0, Width, Height), X, Y, Width, Height, SD.GraphicsUnit.Pixel);

              MemoryStream ms = new MemoryStream();

              bmp.Save(ms, OriginalImage.RawFormat);

              return ms.GetBuffer();

            }

          }

        }

      }

      catch (Exception Ex)

      {

        throw (Ex);

      }

    }

  • 相关阅读:
    Linux Apache服务(一)
    mysql基础
    linux面试题一
    linux shell(2)
    linux基础汇总2
    python列表生成式、生成器,迭代器与二分法
    python的函数
    python函数
    java 翁老师学习笔记-持续更
    责任链模式
  • 原文地址:https://www.cnblogs.com/rosanshao/p/1395659.html
Copyright © 2011-2022 走看看