需要截取部分在屏幕坐标已知,如何截取这部分已知坐标的图象并保存在C:\下

解决方案 »

  1.   

    var rec1,rec2:trect;
        bitmap1:tbitmap;
        dc:hdc;
        screencanvas:tcanvas;
    begin
      //*********************************************
      rec1.Top:=100;      //
      rec1.Left:=100;     //  屏幕上的部分区域的坐标
      rec1.Right:=300;    //
      rec1.Bottom:=300;   //
      //*********************************************
      rec2.Top:=0;                        //
      rec2.Left:=0;                       //   需要复制到的区域
      rec2.Right:=rec1.Right-rec1.Left;   //
      rec2.Bottom:=rec1.Bottom-rec1.Top;  //
      //*********************************************
      screencanvas:=tcanvas.Create;
      bitmap1:=tbitmap.Create;
      bitmap1.Width:=rec1.Bottom-rec1.Top;    //定义位图的大小
      bitmap1.Height:=rec1.Right-rec1.Left;
      dc:=getdc(0);       //获取屏幕句柄
      screencanvas.Handle:=dc;
      bitmap1.Canvas.CopyRect(rec2,screencanvas,rec1);
      bitmap1.SaveToFile('c:\a.bmp');
    end;