Как сделать снимок экрана стредствами Net..?

Тема в разделе ".NET", создана пользователем WildDuck, 3 авг 2009.

  1. WildDuck

    WildDuck Гость

    Добрый день, появилась задача сделать в проге снимок экрана... в инете нашел только во это

    Код (Text):
    public Bitmap MakeScreenShot(Screen screen)
    {
    Bitmap bitmap = new Bitmap(screen.WorkingArea.Width, screen.WorkingArea.Height);
    using (Graphics gfx = Graphics.FromImage(bitmap))
    {
    gfx.CopyFromScreen(screen.WorkingArea.X, screen.WorkingArea.Y, 0, 0, new Size(bitmap.Width, bitmap.Height));
    }
    return bitmap;
    }
    Все ничего если бы он делал снимок панели пуска и мыши)).. ну мыши ладно хотя бы пуска)

    Если кто сталкивался... спасибо!

    ----------------------

    Как обычно после создания темы сразу нашел ответ.. :)
    вот так все работает..)
    проблема была в Screen.PrimaryScreen а нужно было Screen.AllScreens

    Код (Text):
                //Метод возвращает bitmap со скриншотом экрана
    public Bitmap ScreenShot()
    {
    var totalSize = Rectangle.Empty;
    foreach (var s in Screen.AllScreens)
    totalSize = Rectangle.Union(totalSize, s.Bounds);

    var screenShotBmp = new Bitmap(totalSize.Width, totalSize.Height,
    PixelFormat.Format32bppArgb);

    var screenShotGraphics = Graphics.FromImage(screenShotBmp);

    screenShotGraphics.CopyFromScreen(totalSize.X, totalSize.Y,
    0, 0, totalSize.Size, CopyPixelOperation.SourceCopy);

    screenShotGraphics.Dispose();
    return screenShotBmp;
    }
     
Загрузка...

Поделиться этой страницей