得到桌面上指定区域的图像倒容易,
但如何用鼠标在桌面上绘制截取的区域呢?

解决方案 »

  1.   

    有现成的源代码可以参考的,如果你没有
    把分给我,发邮件给我,我传你一份
    [email protected]
      

  2.   

    抓取图像首先要获得欲抓取部分的句柄,根据所获得的句柄再对其进行处理。首先获得全屏图像的宽度和高度值,并将其存储到一个TRect类型的变量中,然后调用Bitblt函数将屏幕上指定区域中的图像抓取下来。
      

  3.   

    抓取全屏幕程序代码 function CaptrueScreenRect(ARect: TRect): TBitmap;
    var
      ScreenDC: HDC;
    begin
      Result := TBitmap.Create;
      with Result,ARect do
      begin
        Width := Right - Left;
        Height := Bottom - Top;
        ScreenDC := GetDC(0);
        try
          BitBlt(Canvas.Handle,0,0,Width,Height,ScreenDC,Left,Top,SRCCOPY);
        finally
          ReleaseDC(0,ScreenDC);
        end;
      end;
    end;
      

  4.   

    我做过其实很简单...
    当你调用这个功能的时候
    出现一个巨大的form占据整个屏幕;
    此form的brush->style = bsClear;
    为了方便调试,建议先不要将borderstyle设置为none否则你会很郁闷得
    然后做矩形rect
    接着取屏幕图片<应该可直接去截区域图片>
    然后根据图片取rect图片
    在这个rect区域内 让鼠标换一个样式
    在双击事件内 将图片保存起来
    至于发送 另外再写socket
    不算困难,只是....很久以前没有什么人想到过这个功能罢了..
    俺算是悟出来了 软件卖的其实关键东西是个创意
      

  5.   

    ....好像入错社区了 我是做Borland C++