用户上传图片后!~可以在页面某个范围内拖动刚刚上传的图片!在页面可以拖动的范围内中间有个矩形框(可以理解为是div)图片显示在这个矩形的范围内就是要截取的部分
怎么实现这种功能??、应用于webfrom的.....
求教高手提供思路!或提供源码更好!
分不够!可以另外在当独加!

解决方案 »

  1.   

    思路:Javascript来控制用户拖动的矩形遮罩层,确定之后,将该四点的坐标位置传入后台处理,截取通过的大小就是这四点的位置,保存为文件。呵呵。以前公司有一个彩信照片发送就是这样做的,不过遗憾的是代码已不在了
      

  2.   

    这是裁剪的后台处理方法。至于用Javascript获取选择点的坐标位置这个就不难了,去搜一下:彩信DIY  有很多这样做的,参考一下他们的源程序吧。祝你好运// ===============================         /// <summary>
            /// 剪裁 -- 用GDI+
            /// </summary>
            /// <param name="b">原始Bitmap</param>
            /// <param name="StartX">开始坐标X</param>
            /// <param name="StartY">开始坐标Y</param>
            /// <param name="iWidth">宽度</param>
            /// <param name="iHeight">高度</param>
            /// <returns>剪裁后的Bitmap</returns>
            public static Bitmap KiCut(Bitmap b, int StartX, int StartY, int iWidth, int iHeight)
            {
                if (b == null)
                {
                    return null;
                }            int w = b.Width;
                int h = b.Height;            if (StartX >= w || StartY >= h)
                {
                    return null;
                }            if (StartX + iWidth > w)
                {
                    iWidth = w - StartX;
                }            if (StartY + iHeight > h)
                {
                    iHeight = h - StartY;
                }            try
                {
                    Bitmap bmpOut = new Bitmap(iWidth, iHeight, PixelFormat.Format24bppRgb);                Graphics g = Graphics.FromImage(bmpOut);
                    g.DrawImage(b, new Rectangle(0, 0, iWidth, iHeight), new Rectangle(StartX, StartY, iWidth, iHeight), GraphicsUnit.Pixel);
                    g.Dispose();                return bmpOut;
                }
                catch
                {
                    return null;
                }
            }
      

  3.   

    刚好前面做过一个类似的功能
    思路给你说一下一个高度和宽度都固定的DIV 里面 放一个2行2列的table用户图片选择后 放到 第二行第二列里 左上角对齐然后在图片的onmove事件中用javascript控制第一行第一列表格的高度和宽度这样就可以实现图片的部分选取下面的工作就好做了  根据DIV的宽度和高度 减去  第一行第一列表格的宽度和高度 就是图片减取的部分