关于图片截取???

lk829 2007-06-14 02:03:25
用户上传图片后!~可以在页面某个范围内拖动刚刚上传的图片!在页面可以拖动的范围内中间有个矩形框(可以理解为是div)图片显示在这个矩形的范围内就是要截取的部分
怎么实现这种功能??、应用于webfrom的.....
求教高手提供思路!或提供源码更好!
分不够!可以另外在当独加!
...全文
695 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
求索318 2011-05-17
  • 打赏
  • 举报
回复
有同样的需求
lk829 2007-06-18
  • 打赏
  • 举报
回复
在等一天结帖
hongyin163 2007-06-16
  • 打赏
  • 举报
回复
帮顶
lk829 2007-06-16
  • 打赏
  • 举报
回复
还有高手在给点意见吗???
redebug 2007-06-14
  • 打赏
  • 举报
回复
刚好前面做过一个类似的功能
思路给你说一下

一个高度和宽度都固定的DIV 里面 放一个2行2列的table

用户图片选择后 放到 第二行第二列里 左上角对齐

然后在图片的onmove事件中用javascript控制第一行第一列表格的高度和宽度

这样就可以实现图片的部分选取

下面的工作就好做了

根据DIV的宽度和高度 减去 第一行第一列表格的宽度和高度 就是图片减取的部分

hedongyang 2007-06-14
  • 打赏
  • 举报
回复
这是裁剪的后台处理方法。

至于用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;
}
}

lk829 2007-06-14
  • 打赏
  • 举报
回复
先谢谢上面两位!前面的实现没有问题!
是后面截取图片后 在保存截取的图片 我实在不懂!
hedongyang 2007-06-14
  • 打赏
  • 举报
回复
思路:Javascript来控制用户拖动的矩形遮罩层,确定之后,将该四点的坐标位置传入后台处理,截取通过的大小就是这四点的位置,保存为文件。呵呵。以前公司有一个彩信照片发送就是这样做的,不过遗憾的是代码已不在了。。。
WNASP 2007-06-14
  • 打赏
  • 举报
回复
使用webpart

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧