Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 2
Регистрация: 08.05.2013
Сообщений: 28
1

Область скриншота в окне

11.05.2013, 16:05. Показов 475. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Написал такой скрипт

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public static void CaptureInWindow(int xsc, int ysc, int xsc2, int ysc2 , string hwnd)
        {
            
            AutoItX3 au3 = new AutoItX3();
            int x = au3.WinGetPosX(hwnd);
            int y = au3.WinGetPosY(hwnd);
            int t = au3.WinGetClientSizeWidth(hwnd);
            int b = au3.WinGetClientSizeHeight(hwnd);
            int width = xsc2 - xsc;
            int height = ysc2 - ysc;
            Bitmap bmpScreenshot = new Bitmap(width , height, PixelFormat.Format24bppRgb);
            // Create a graphics object from the bitmap
            Graphics gfxScreenshot = Graphics.FromImage(bmpScreenshot as Image);
            // Take the screenshot from the upper left corner to the right bottom corner
            gfxScreenshot.CopyFromScreen(x*2 + xsc, y*2 + ysc, x, y, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy);
            // Save the screenshot to the specified path that the user has chosen
            bmpScreenshot.Save("temp.bmp", ImageFormat.Bmp);
        }
В gfxScreenshot.CopyFromScreen(x*2 + xsc, y*2 + ysc, x, y, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy); нужно указать координаты x,y,t,b что будет прямоугольником, но он не хочет их воспринимать.

Возможно есть какие нибудь альтернативные методы?

Добавлено через 1 час 0 минут
Проблема решена
C#
1
gfxScreenshot.CopyFromScreen(point, new Point(-xsc2, -ysc2), new Size(t, b), CopyPixelOperation.SourceCopy);
Скриншот отличный) вот AutoItX для получения координат окна и много полезного

Добавлено через 30 минут
Довел до ума (скриншотит точно по координатам которые высылаются в запросе)
C#
1
ImageSearch.CaptureInWindow(331, 145, 526, 504, "Программа C#");
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public static void CaptureInWindow(int xsc, int ysc, int xsc2, int ysc2 , string hwnd)
        {
            AutoItX3 au3 = new AutoItX3();
            int x = au3.WinGetPosX(hwnd);
            int y = au3.WinGetPosY(hwnd);
            int t = au3.WinGetClientSizeWidth(hwnd);
            int b = au3.WinGetClientSizeHeight(hwnd);
            int width = xsc2 - xsc;
            int height = ysc2 - ysc;
            Bitmap bmpScreenshot = new Bitmap(width, height, PixelFormat.Format24bppRgb);
            // Create a graphics object from the bitmap
            Graphics gfxScreenshot = Graphics.FromImage(bmpScreenshot as Image);
            System.Drawing.Point point = new System.Drawing.Point(x + xsc, y + ysc);
            System.Drawing.Point pointdraw = new System.Drawing.Point(0, 0);
            // Take the screenshot from the upper left corner to the right bottom corner
            gfxScreenshot.CopyFromScreen(point, pointdraw, new Size(xsc2, ysc2), CopyPixelOperation.SourceCopy);
            // Save the screenshot to the specified path that the user has chosen
            bmpScreenshot.Save("temp.bmp", ImageFormat.Bmp);
        }
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.05.2013, 16:05
Ответы с готовыми решениями:

Построить логическую область в графическом окне
Построить логическую область в графическом окне.Помогите пожалуйста!))Никак не получается.

C# фиксация картинки в окне при нажатии на произвольную область экрана
Делаю игру посвещённую рыбалке. Необходимо чтобы при нажатии например на озеро, поплавок там...

Как сделать так, когда я ввожу информацию в окне 2, то она появлялась в главном окне тобишь в окне 1?
В общем нужно создать просто приложение по типу инсталятора с кнопками далее или назад. И я ввожу...

Выделить текст в RichTextBox в одном окне, сохранив фокус на другом окне
Добрый день! Пытаюсь реализовать поиск с помощью дополнительного окна (в данной теме сам поиск не...

0
11.05.2013, 16:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.05.2013, 16:05
Помогаю со студенческими работами здесь

Как отобразить информацию (введенную в форму), в новом окне и во всплывающем окне?
Подскажите пожалуйста, у меня есть форма в нее делаю запись, как сделать так, что бы после введения...

Передача данных из listBox в одном окне, в textBox в другом окне
Доброго времени суток! Есть два окна, на одном находиться сам textBox, а на другом listBox с...

Почему изображение в окне Scene и в окне Game сильно отличается?
Почему изображение в окне Scene и в окне Game сильно отличается?

Сохранение скриншота
Подскажите как сохранять скриншот с именем которого в папке нет. Например, в папке есть фото. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru