远程协助项目 在知道对方屏幕大小的情况,使比自己屏幕小的截屏显示在自己屏幕正中间?
要思路代码页行,在线等候

解决方案 »

  1.   

    根据截图判断像素颜色。 大于屏幕的地方肯定显示的是背景色,逐点扫描颜色。如果一行全部都是背景色就移除。 最后得到的是有效区域大小。设置窗体大小为有效区域大小,然后设置左上角的坐标为 本机分辨率X-有效区X  本机分辨率Y-有效区分辨率Y
      

  2.   


           public void GetPicValidByValue(int dgGrayValue)
            {
                int posx1 = bmpobj.Width; int posy1 = bmpobj.Height;
                int posx2 = 0; int posy2 = 0;
                for (int i = 0; i < bmpobj.Height; i++)      //找有效区
                {
                    for (int j = 0; j < bmpobj.Width; j++)
                    {
                        int pixelValue = bmpobj.GetPixel(j, i).R;
                        if (pixelValue < dgGrayValue)     //根据灰度值
                        {
                            if (posx1 > j) posx1 = j;
                            if (posy1 > i) posy1 = i;                        if (posx2 < j) posx2 = j;
                            if (posy2 < i) posy2 = i;
                        };
                    };
                };
                //复制新图
                Rectangle cloneRect = new Rectangle(posx1, posy1, posx2 - posx1 + 1, posy2 - posy1 + 1);
                bmpobj = bmpobj.Clone(cloneRect, bmpobj.PixelFormat);
            }
    以前得到验证码有效区域的代码。 可以直接用,给个背景色就可以了
      

  3.   

    Screen.GetWorkingArea(this);获得本机分辨率
      

  4.   

    Screen.GetWorkingArea(this);3q 结贴!