GDI+ 的问题
我在一个form上用GDI+画了一些图形,有没有办法获取form完整的图像(包括刚画上去的图形),或者有没有办法可以把包含图形的图像保存到硬盘上? --------------------编程问答----------------------------------------编程问答-------------------- 你可以使用一个列表来存放你的图形数据,在窗体关闭或需要保存的地方循环操作把列表中的数据保存到磁盘。下一次加载窗体的时候从磁盘上读出并循环向窗体再次画出图像。
namespace TestBitmap
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
e.Graphics.FillPie(Brushes.Tomato, new Rectangle(0, 0, ClientSize.Width, ClientSize.Height), -90f, 180);
}
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
Bitmap btm = new Bitmap(ClientSize.Width,ClientSize.Height);
using (btm)
{
Graphics g = Graphics.FromImage(btm);
using (g)
{
g.CopyFromScreen(this.PointToScreen(this.ClientRectangle.Location), new Point(0, 0), ClientSize);
SaveFileDialog DlgSave = new SaveFileDialog();
DlgSave.Filter = "位图格式(*.bmp)|*.bmp|JPEG格式(*.jpeg)|*.jpeg";
if (DlgSave.ShowDialog() == DialogResult.OK)
{
if (DlgSave.FilterIndex == 1)
{
btm.Save(DlgSave.FileName, ImageFormat.Bmp);
}
else if (DlgSave.FilterIndex == 2)
{
btm.Save(DlgSave.FileName, ImageFormat.Jpeg);
}
}
MessageBox.Show(DlgSave.FileName+" "+DlgSave.FilterIndex.ToString());
}
}
}
}
}
可以参考下这个:
C#画图(WinForm)
http://blog.csdn.net/hbxtlhx/archive/2007/08/31/1766913.aspx
补充:.NET技术 , C#