C# 验证Winform绘图是否正确完成?

C# 验证Winform绘图是否正确完成?,c#,winforms,gdi+,C#,Winforms,Gdi+,我问这个问题的原因是: 我在大学学习编程,我有两个朋友,他们都是盲人。我们有一个叫做基本计算机图形学的类,我们使用GDI+(C#winform,System.Drawing类) 据我所知,在.NET中没有内置通知方法让用户知道绘图是否正确。有没有其他的方法,或者你有什么想法,我应该寻找什么来解决这个问题?这是一件严肃的事情,这些人可以编写任何代码,但是他们需要有人在每次调试时检查结果 我愿意把整个事情都写下来,只是我不知道从哪里开始最好。谢谢 您可以检查大多数GDI+操作中的错误代码,但这只会给

我问这个问题的原因是:

我在大学学习编程,我有两个朋友,他们都是盲人。我们有一个叫做基本计算机图形学的类,我们使用GDI+(C#winform,System.Drawing类)

据我所知,在.NET中没有内置通知方法让用户知道绘图是否正确。有没有其他的方法,或者你有什么想法,我应该寻找什么来解决这个问题?这是一件严肃的事情,这些人可以编写任何代码,但是他们需要有人在每次调试时检查结果


我愿意把整个事情都写下来,只是我不知道从哪里开始最好。谢谢

您可以检查大多数GDI+操作中的错误代码,但这只会给您带来错误(或OK)

我还能想到另外两种类型的失败:

1-如果您在目标之外或使用背景色绘制某些内容,您可能会失败,但不会生成错误

2-你可能画错了东西,或者画错了颜色,或者画错了位置

这里有一种解决问题的方法:

1-对于每个绘图操作,提供该点的位图

2-每次绘图操作后,他们应调用函数将其位图与提供的“正确”位图进行比较


这只有在位图相同的情况下才有效——因此问题规范(或至少实现)必须考虑到这一点。它也不适用于光标动画等。但如果能够做到这一点,它可能会大大节省时间。

首先,您必须定义指标。“正确绘制”是什么意思?一旦你列举了你需要检查的点,检查它们。没有固定的通知。如果绘图发生了,我需要得到通知,这超出了界限(尽管这很容易解决);检查它是否在应该的位置(例如,我不确定我的计算是否会将我的线条画的端点放在正确的位置(可能是因为我试图计算角度),但我可以画一个圆或一个矩形,所以我比较它们的位置或检查它们是否相交。等等)。你认为如何枚举点?点对象,还是绘制的像素?我真的很想看看能做后者的东西。在我看来位图是个糟糕的选择。我必须以某种方式在对象上进行中继,因为据我所知,绘制和着色的像素是无法计算的。