Код делающий PrintScreen всех Ваших экранов и сохранящий их в файл JPG




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

namespace PrintScreen 
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private Bitmap TakeScreenShot(Screen currentScreen)
        {
            Bitmap bmpScreenShot = new Bitmap(currentScreen.Bounds.Width,
                                              currentScreen.Bounds.Height,
                                              PixelFormat.Format32bppArgb);

            Graphics gScreenShot = Graphics.FromImage(bmpScreenShot);

            gScreenShot.CopyFromScreen(currentScreen.Bounds.X,
                                       currentScreen.Bounds.Y,
                                       0, 0,
                                       currentScreen.Bounds.Size,
                                       CopyPixelOperation.SourceCopy);
            return bmpScreenShot;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Bitmap bmp = null;
            Graphics gr = null;

            int i = 0;
            foreach (Screen scr in Screen.AllScreens)
            {
                Image img = TakeScreenShot(scr);
                if (i == 0)
                {
                    bmp = new Bitmap(img.Width * Screen.AllScreens.Count(), img.Height);
                    gr = Graphics.FromImage(bmp);
                    gr.DrawImage(img, new Point(0, 0));
                }
                else
                {
                    gr.DrawImage(img, new Point(img.Width * i, 0));
                }
                i++;
            }
      
            string tmp = Path.GetTempFileName();
            tmp = Path.GetFileNameWithoutExtension(tmp) + ".jpg";
            bmp.Save(tmp, ImageFormat.Jpeg);
        }
    }
}

Комментарии (0)

RSS свернуть / развернуть

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии flipboard .