我想做一个截图程序,现在想做一个截取任意程序中选中区域成为图片的功能。    举例来说,在写字板或IE中,我选中部分文字或图片,这些文字或图片所在的区域就会变色,如何将这些变色的区域截成图片?请高手帮帮忙,提供代码或思路都行。先谢过啦!

解决方案 »

  1.   

    使用
    Graphics.CopyFromScreen 方法 
    执行颜色数据从屏幕到 Graphics 的绘图图面的位块传输。
      

  2.   

    比如如下的代码把当前屏幕上的指定位图画到当前的窗口中:
    using (Graphics g = this.CreateGraphics())
    {
    g.CopyFromScreen(0, 0, 100, 100, new Size(100, 100));
    }
      

  3.   

    这么简单的话,我也会,问题是我需要的不是要截整个屏幕,我是要截我选中的区域,并且这个区域并不是由我的鼠标坐标定位的,而是我选中后变色的部分定位,比如excel中我选中的单元格,选中单元格时,我选中的区域与我鼠标划过的区域并不一致。
      

  4.   

    你可以把整个屏幕画到一个全屏的Form上,然后在Form上执行你的操作就是了。
      

  5.   

    只知道通过消息能获得选中的文字,如何变成图片就不知道了,难道根据背景色判断-_-||
    用Microsoft Active Accessibility不知道行不行
    总之觉得LZ的需求几乎不可能实现
      

  6.   

    Microsoft Active Accessibility没接触过,不知道怎么用,不过我想既然系统能够选中,就应该有方法可以获得选中的区域或者确定其范围。
      

  7.   

    看来是不会有答案了,结帖,谢谢darkh0rse(nooooob=>nb 进化中...)