最近在写画图板程序,但是刚开始遇到的问题是。
(1)用Graphics画图,但是画出来的是什么?画在什么上面,如果画在ClientSize上的话,不能保存。
解决的方案是:画在背景上,这样就能够保存了。但是这样的话,加载的速度很慢。还是有效率的问题。
if (!Tracking)
return;
Point ptNew = new Point(e.X + 70, e.Y + 70);
//以背景为画图板来进行画图。
Graphics grfx = Graphics.FromImage(this.BackgroundImage);
//Graphics grfx = CreateGraphics();
grfx.DrawLine(new Pen(Brushes.Blue), ptLast, ptNew);
ptLast = ptNew;
(2)就是鼠标与对应的位置的问题。
现在出现的问题是,鼠标与对应的位置不符合。不再对应的位置上。所以,程序还是有问题的,但是能够保存起来把所画的图形。
保存的方法是。
saveFileDialog.Filter = FileFilter;
saveFileDialog.ShowDialog();
string filename = saveFileDialog.FileName;
if (filename != "")
this.BackgroundImage.Save(filename);