我看到有很多带有 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);
感谢阅读,对不起,如果我“发明”了新语法,我不是英语!