日期:2014-05-17  浏览次数:20390 次

jquery+asp.net 截图功能,遇到瓶颈
获取截图的坐标是js+html标签实现的,真正截图代码是C#

现在完成的功能是  比如前台要截图一个框 200X200的传到后台,能完成截图。

现在的问题是客户更改需求了,比如上传一个图片图片大小是3000X3000的 然后界面操作的截图框是200X200也就是把图片缩小来截图,然后要求真正截到的图片是2000X2000 这该如何设计呢?谁能跟我说说这整个过程应该怎么操作的呢?代码我自己能写,要的是方案。

------解决方案--------------------
比如说对于silverlight来说,你只需要在Canvas里边放一个Image控件和一个矩形控件。然后设置Image的缩放比例为0.66667。

具体行为可能是:
1. 捕捉用户将文件从windows文件浏览器拖放到Canva上的Drop事件,如果拖入的是图片文件,则直接读取本地文件并且显示在Image上。
2. 然后捕捉鼠标按下、移动、抬起事件(事件会反应鼠标位置相对于Canvan控件的偏移坐标),来更改矩形框的左上角和右下角坐标。
3. 捕捉其它事件,例如在这个矩形上注册的右键菜单、或者使用“命中测试”来判断是否则在矩形内部双击了鼠标,开始复制选中区域。
4. 最后是弄个进度条,显示所选中区域的图片的上传进度。

而剪切图片语句,在silverlight是很容易的,只需要一条语句创建一个新的可写图片,它就会自动剪切其它的任何FrameworkElement(也就是说如果目标是一个MediaElement那么你实际上可以用一条语句就做到给视频截图)。这没有什么技术含量。

总之,使用高级的开发平台,才能顺利做这些开发工作。
------解决方案--------------------
“整个的过程”其实就是这样的。假设我们请得起合适的程序设计师,我们开发中担心的就是美工和设计人员不够好。如果们就只能请得起javascript/html编程人员,那么就只能慢慢去抄代码,普通javascript/html程序员做不了这种高级的web应用程序开发工作(只能做一些简单的网站网页而已)。
------解决方案--------------------
前台把图片显示出来,估计要按一定的比例缩放。然后200X200的框移动的时候,获取这个框左上角距TOP 和 LEFT的距离,再把这两个数值传到后台来进行裁减,就可以了。
------解决方案--------------------
先按比例缩,放到200*200里面,,,然后截时,按比例放到,在原图2000*2000,做截的动作。。。应该可以吧?
------解决方案--------------------
然后截时,按比例放大,
------解决方案--------------------
楼主,我求一个上传图片,然后预览截图(DIV框框选择部分),,保存选择中区域的。急,,万分感谢。。。379631014@qq.com   
------解决方案--------------------
做过类似的,不过是realtime的,基本是上传好图片自动生成缩图,然后显示缩图,再取得截图范围save 到input就行,然后再运算取得就行
------解决方案--------------------
你的需求是要做一个无插件的截图工具。

前台js 负责获取需要截图的范围。
需要以下参数:
1.框选范围左上角相对图片左上角的位置 x,y
2.框选范围的宽度和高度 width,height
(这边就需要你完成前台js的拖拽功能,div 4个顶点都能拖动,但又不能超出图片的范围。)
参数(5个)是  图片在客户端地址,x,y,width,height

后台接收到参数后。
处理图片创建新图片大小事width,height,把原始图片的顶点坐标移动到-x,-y开始绘制到新图片上。
就完成图片截取了,保存新图片到文件,在把文件的地址返回给前台。