我很难理解图形对象是如何绘制的。假设有这个功能:
private void DrawLineOnOverlay()
{
using (var g = pictureBox.CreateGraphics())
{
g.DrawLine(OverlayPen, cursorStartx, cursorStarty, cursorEndx, cursorEndy);
}
}
在您已经完成此操作的图片框控件中绘制简单的线条:
pictureBox.Image = BitmapToBeLoaded; // Load an 8-bit indexed Bitmap
我的理解是,加载的图像和使用图形对象绘制的像素都是同一图像的一部分:pictureBox.Image
但是这个:
Bitmap graphic = pictureBox.Image;
if (graphic != null )
{
graphic = new Bitmap (pictureBox.Image);
graphic.Save( "C:\\packed.png", ImageFormat.Png);
}
不起作用:保存的图像不会在图像上显示以红色绘制的线条。为什么这个?怎么了?