【问题标题】:grab image using mouse cordinates from screen使用屏幕上的鼠标坐标抓取图像
【发布时间】:2011-10-01 07:08:59
【问题描述】:

我进行了很多搜索,但找不到任何适合我要求的解决方案。 我想在我的网站上提供一个功能,用户可以在浏览器上或桌面上的任何地方选择任何区域并将所选区域转换为图像。 我知道这可以在 Windows 窗体中完成,您可以选择跟踪鼠标移动和从屏幕捕获图像。 我知道如果我想在 web 中使用这个功能,我必须通过 javascript 获取坐标,然后可能会向 webservice 发出 ajax 请求并获取我的图像。

首先,我在 javascript 中找不到合适的方法来获取 mousedown 和 mouseup 坐标。

我已经看到 jquery 的可拖动和可调整大小的 div。我想要一些类似的东西让用户选择必须转换为图像的区域。 我什至可以使用 jquery 可拖动和可调整大小的 div 获取原始鼠标位置、当前鼠标位置和 div 的大小。

其次,我想要一些关于如何将所选区域作为图像抓取的建议。

请帮帮我。

【问题讨论】:

    标签: javascript asp.net image mouse


    【解决方案1】:

    无法使用 JavaScript。网页(故意!)无法跟踪浏览器窗口外的鼠标移动,也无法读取用户桌面上的图像。

    【讨论】:

      【解决方案2】:

      您的意思类似于:http://www.screenr.com/record

      【讨论】:

      • 检查了这个链接。它要求我下载 java。
      • 没错。您不能打印最终用户的屏幕。想想如果可能会发生什么。
      • 但可以在基于 Windows 的应用程序中执行。然后在 web 中不行。
      • @Neelam 因为那样整个世界都会比你眨眼更快地利用你的计算机
      【解决方案3】:

      您可以使用事件的 clientX 和 clientY 来获取鼠标坐标。例如:

      http://jsfiddle.net/yN3S5/1/

      HTML:

      <p id="x" ></p>
      <p id="y" ></p>
      

      Javascript:

      document.onmousemove=function(e){
          x=document.getElementById('x');
          y=document.getElementById('y');
          x.innerHTML=e.clientX;
          y.innerHTML=e.clientY;
      }
      

      【讨论】:

      • 是的,仅适用于 window.and 我想要 mouseup 和 mousedown 坐标。
      • @duskwuff,如果你正在尝试制作屏幕捕捉程序,你不会使用 javascript。
      【解决方案4】:

      首先,要将您的页面转换为图像,有一个非常酷的库可以做到这一点。它使用画布,并通过阅读在其上呈现整个页面

      获取代码并从此处查看示例。

      http://html2canvas.hertzen.com/

      一旦您在画布中拥有页面,您就可以将其转换为 png 并通过选择它来获取其中的一部分。

      看这个例子! http://hertzen.com/experiments/jsfeedback/examples/dusky/index.html

      点击发送反馈,然后在页面上选择一个区域,然后点击预览!它非常接近您的要求,而是制作一个红色矩形,您剪切了这部分图像。

      更多类似上一个的例子:http://hertzen.com/experiments/jsfeedback/

      忘记捕获浏览器之外的任何内容。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-07-07
        • 2017-11-19
        • 2016-03-19
        • 2012-06-06
        • 1970-01-01
        • 2011-07-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多