Домой Windows C# Делаем скрин выделенной области: Справочник по C#

C# Делаем скрин выделенной области: Справочник по C#

534
0


      Для начала следует сделать импорт необходимых системных библиотек, которые по неизвестной мне причине не импортируются автоматически, но лежат в одной папке со всеми библиотеками .NET фреимворка.
      Добавлять их в проект нужно обязательно, иначе наши дальнейшие действия не имеют смысла.

      Следующим шагом добавьте в проект этот класс:
ScreenFixCore.cs 19.3 KB
      Данный класс будет служить конструктором, он содержит все компоненты для работы, а мы только будем вызывать из него функции и извлекать нужные значения.

       Перейдем к форме, перечислю, какие компоненты будут использоваться:
В форме у меня были добавлены только эти директивы Using (удалил те, которые не использовал):

using System;
using System.Windows.Forms;
using System.Drawing;
using System.Windows.Media.Imaging;
using System.IO;

Необходимые переменные класса Form1:

private Bitmap bmp1;


Виджеты:
Для данного примера понадобятся
pictureBox1 — контейнер для изображения
toolStripButton — обычная кнопка, но в моём случае ещё и элемент панели инструментов. Можно и без неё обойтись, разницы никакой, разве что визуальная.

ЧИТАТЬ ТАКЖЕ:  Добавление программы в автозагрузку: Справочник по C#

Класс ScreenFixCore.cs должен обязательно находиться в проекте.

А теперь о функции, которая делает снимок.
Вот она:

private void toolStripButton3_Click(object sender, EventArgs e)
{
System.Windows.Media.Color ColorBackScreen = System.Windows.Media.Colors.Black;
System.Windows.Media.Brush BrushLinesRect = System.Windows.Media.Brushes.Red;
BitmapSource bmpImage =
ScreenFixCore.ScreenshotMaker.BeginSelectionImageFromScreen(BrushLinesRect, 1.0d, ColorBackScreen);
System.Drawing.Bitmap bitmap;
using (MemoryStream outStream = new MemoryStream())
{
BitmapEncoder enc = new BmpBitmapEncoder();
enc.Frames.Add(BitmapFrame.Create(bmpImage));
enc.Save(outStream);
bitmap = new System.Drawing.Bitmap(outStream);
}
bmp1 = new Bitmap(bitmap);
pictureBox1.Image = bmp1;
}


Пример работы приложения:

Источник ctrockii.blogspot.com

C# Делаем скрин выделенной области: Справочник по C#

0.00 (0%) 0 votes

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь