功能如同画图的功能,用鼠标选中一块矩形区域,把它保存为另外的图片文件。
提供思路或示例代码.
多谢。

解决方案 »

  1.   

    屏幕捕捉程序,可以捕捉整个屏幕、屏幕的一部分、窗口。捕捉的内容可以保存成BMP文件。这个程序演示如何通过API调用将图形设备中的图像保存到Bitmap对象中。http://www.applevb.com/sourcecode/capture.zip
      

  2.   

    在MouseDown事件里记录鼠标两次点击的坐标。
    把两个坐标作为paintpicture的参数,画到另一个picturebox里。然后savepicture
      

  3.   

    或者利用GETDIBITS把选定区域的内容采集到数组里,再自己构造BMP文件,稍微麻烦点,但对你理解BMP文件结构有好处。
      

  4.   

    MSDN中搜索Capture Screen ,可以找到一个代码,里面的相关的内容,自己稍作改动就可以取RECT里面的图片了.
      

  5.   

    在窗体上加入 Picture1,Picture2设置Picture1的Picture属性:Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As LongPrivate Const SRCCOPY = &HCC0020Dim P1 As Long
    Dim P2 As LongPrivate Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
        P1 = X
        P2 = Y
    End SubPrivate Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
        On Error Resume Next
        Picture2.AutoRedraw = True
        Picture2.Cls
        Picture2.Width = (X - P1) * Screen.TwipsPerPixelX
        Picture2.Height = (Y - P2) * Screen.TwipsPerPixelX
        Call BitBlt(Picture2.hDC, 0, 0, X - P1, Y - P2, Picture1.hDC, P1, P2, SRCCOPY)
        SavePicture Picture2.Image, "c:\demo.bmp"
    End Sub
    注意:鼠标在Picture1上从左上角往右下角拖拉即可