1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

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

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

  1. WildDuck

    WildDuck Гость

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

    Код:
    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

    Код:
    			//Метод возвращает 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;
    }
     
Загрузка...

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