Справочник по C#

    Исходники по языку программирования CSharp

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

    /
    /
    /
    537 Views


          Для начала следует сделать импорт необходимых системных библиотек, которые по неизвестной мне причине не импортируются автоматически, но лежат в одной папке со всеми библиотеками .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 – обычная кнопка, но в моём случае ещё и элемент панели инструментов. Можно и без неё обойтись, разницы никакой, разве что визуальная.

    Класс 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

    moyadcode13
    • Facebook
    • Twitter
    • Google+
    • Linkedin
    • Pinterest