如何更改 VB.NET 表单中单个像素的颜色?
谢谢。
最佳答案
Winforms 的硬性要求是您应该能够在 Windows 要求时重绘表单。当您最小化并恢复窗口时会发生这种情况。或者在旧版本的 Windows 上,当您将另一个窗口移过您的窗口时。
因此仅在窗口上设置像素是不够的,当窗口重绘时您将丢失所有像素。而是使用位图。一个额外的负担是您将不得不保持用户界面响应,因此您需要在工作线程上进行计算。 BackgroundWorker 很容易做到这一点。
实现此目的的一种方法是使用两个位图,一个由您填写工作人员,另一个由您显示。例如,每一行像素都会复制工作中的位图并将其传递给 ReportProgress()。然后,您的 ProgressChanged 事件会处理旧位图并存储新通过的位图并调用 Invalidate 以强制重绘。
关于vb.net - 以 VB.net 形式更改像素颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10373757/