![]() |
1
2
It's a full featured topic that's outside the scope (it won't fit, not that i won't ramble about it for hours :-) of this answer..but this should get you started with drawing in C# http://www.geekpedia.com/tutorial50_Drawing-with-Csharp.html Things have come a bit from the old days of direct memory manipulation..although everything is still tied to pixels. Edit: Oh, and if you run into flickering problems and get stuck, drop me a line and i'll send you a DoubleBuffered panel to paint with. |
![]() |
2
4
This used to be done because you could get direct access to the video buffer. This is typically not available with today's systems, as the video memory is managed by the video driver and OS. Further, there really isn't a 1:1 mapping of video memory buffer and what is displayed anymore. With so much memory available, it became possible to have multiple buffers and switch between them. The currently displayed buffer is called the "front buffer" and other, non-displayed buffers are called "back buffers" (for more, see http://en.wikipedia.org/wiki/Multiple_buffering )We typically write to back buffers and then have the video system update the front buffer for us. This provides smooth updates, as the video driver synchronizes the update with the scan rate of the monitor.
要使用c_写回缓冲区,我最喜欢的技术是使用wpf
WritableBitmap
. 我也用过
|