日期:2014-05-17  浏览次数:20673 次

C#图像处理
近日做截图程序,按下热键后截取屏幕,然后将截取的图片调暗,再显示.问题是遍历bitmap处理每个像素点好慢,按下热键到显示图片要3,4秒时间,用BitmapData也不见成效...求解决方法.

------解决方案--------------------
http://topic.csdn.net/u/20090420/00/4042e404-e802-45f7-8b25-c7fbc5a81c76.html
------解决方案--------------------
可以使用暗一点的透明色在图标上再画一层。
------解决方案--------------------
C# code

public Bitmap GetScreen() {
            Bitmap bmp = new Bitmap(Screen.PrimaryScreen.Bounds.Width,
                Screen.PrimaryScreen.Bounds.Height);
            using (Graphics g = Graphics.FromImage(bmp)) {
                g.CopyFromScreen(0, 0, 0, 0, bmp.Size);
                SolidBrush sb = new SolidBrush(Color.FormArgb(125,0,0,0));
                g.FillRectangle(sb,0,0,bmp.Width,bmp.Height);
                sb.Dispose();
            }
            return bmp;
        }