【发布时间】:2018-11-05 08:19:29
【问题描述】:
我有具体问题,我不知道如何解决。我已经在 Winforms 中编写了程序,它在 Task 中占用了所有时间的屏幕截图。它的工作大约几分钟就会崩溃。
private void TaskBot()
{
Task taskHeal = new Task(() =>
{
while (boolCheckBoxHP != null)
{
Thread.Sleep(200);
if (boolCheckBoxHP == true)
{
Bitmap bitmap;
try
{
bitmap = new
//THERE IS AN ERROR
Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
//THERE IS AN ERROR
Graphics graphics = Graphics.FromImage(bitmap);
graphics.CopyFromScreen(0, 0, 0, 0, bitmap.Size, CopyPixelOperation.SourceCopy);
}
catch (Exception ex)
{
MessageBox.Show("Error: " + ex.Message + "\n\nCause: " + "SpriteSet not yet loaded.");
bitmap = null;
}
KontrolujPoziomHP(bitmap);
if (bitmap != null) bitmap.Dispose();
}
if (boolCheckBoxMana == true)
{
Bitmap bitmap;
try
{
bitmap = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
Graphics graphics = Graphics.FromImage(bitmap);
graphics.CopyFromScreen(0, 0, 0, 0, bitmap.Size, CopyPixelOperation.SourceCopy);
}
catch (Exception ex)
{
MessageBox.Show("Error: " + ex.Message + "\n\nCause: " + "SpriteSet not yet loaded.");
bitmap = null;
}
Thread.Sleep(50);
KontrolujPoziomMany(bitmap);
if (bitmap != null) bitmap.Dispose();
}
}
});
taskHeal.Start();
}
这是来自 Visual Studio 的错误:
The parameter is invalid
System.ArgumentException HResult = 0x80070057 消息 = 参数是 无效的。 Source = System.Drawing 堆栈跟踪:在 System.Drawing.Bitmap..ctor(Int32 宽度,Int32 高度,PixelFormat 格式)在 System.Drawing.Bitmap..ctor(Int32 宽度,Int32 高度)中 TibiaHelper.Form1.CopyScreen (in ) in C:\Users\Pawel\source\ repos \ TibiaHelper \ TibiaHelper \ Form1.cs:第157行 TibiaHelper.Form1.检查C:\Users\Pawel\source中的LevelHP() \repos\TibiaHelper\TibiaHelper\Form1.cs:第 368 行 TibiaHelper.Form1.b__22_0() 在 C:\Users\Pawel\source\repos\ TibiaHelper \ TibiaHelper \ Form1.cs:第308行 System.Threading.Tasks.Task.InnerInvoke() 中的 System.Threading。 任务.Task.Execute()
【问题讨论】:
-
这个错误用英语怎么说?
-
完成后最好处理掉该图形对象。位图在哪里使用,什么时候处理?
-
表示参数无效。我试图处理位图对象,但没有帮助。
-
图形对象怎么样:发布的代码没有处理它。这段代码在哪里运行?显示出来。
-
我在我的问题中编辑代码。
标签: c# winforms bitmap task system.drawing