0

我看到有很多带有 GDI+ 错误的线程,有些是用于 Web 图像的,其他形式的图像编辑......只有一个用于屏幕截图: GDI+ 中的一般错误发生在屏幕捕获中 并且没有解决方案。我正在关注本指南

我的“唯一截图程序”是这样的:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Imaging;
using System.IO;



namespace WindowsFormsApplication4
{
    public partial class Form1 : Form
    {
        private static Bitmap bmpScreenshot;
        private static Graphics gfxScreenshot;
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.Hide();
            bmpScreenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb);
            gfxScreenshot = Graphics.FromImage(bmpScreenshot);
            gfxScreenshot.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy);
            bmpScreenshot.Save("c:\\test.png", ImageFormat.Png);
            this.Show();
          }
    }
}

但我收到 GDI+ 中的一般错误。它应该隐藏,截屏,保存并取消隐藏。相反,它阻止并给出该错误:

bmpScreenshot.Save("c:\\test.png", ImageFormat.Png);

感谢阅读,对不起,如果我“发明”了新语法,我不是英语!

4

0 回答 0