先看代码.: private void Form1_Paint(object sender, PaintEventArgs e)
{
Bitmap bmp = new Bitmap(this.Width, this.Height);
this.pictureBox1.Image = bmp; gra = Graphics.FromImage(this.pictureBox1.Image);
gra.SmoothingMode = SmoothingMode.HighQuality;
linePen = new Pen(Color.Red, (float)0.5);
linePen.CustomEndCap = new System.Drawing.Drawing2D.AdjustableArrowCap(4,8, true);
gra.DrawLine(linePen, new Point(10, 10), new Point(200, 50));
} private void button1_Click(object sender, EventArgs e)
{
// gra.SmoothingMode = SmoothingMode;
linePen = new Pen(Color.White, (float)0.5);
linePen.CustomEndCap = new System.Drawing.Drawing2D.AdjustableArrowCap(4, 8, true);
gra.DrawLine(linePen, new Point(10, 10), new Point(200, 50));
this.pictureBox1.Invalidate();
}我的意思是我的图片上画了一条红线,我再用一条白线将红线给覆盖掉,(功能类似橡皮檫的功能,我没想到过其它的办法)
但问题就出现在这里.如果用了消除锯齿.(必须使用这个功能)
白线覆盖红线后就会留下一些点点(这些点点应该是消除锯齿时用来添充那些锯齿的点点)
请问大家该怎么来处理?
{
Bitmap bmp = new Bitmap(this.Width, this.Height);
this.pictureBox1.Image = bmp; gra = Graphics.FromImage(this.pictureBox1.Image);
gra.SmoothingMode = SmoothingMode.HighQuality;
linePen = new Pen(Color.Red, (float)0.5);
linePen.CustomEndCap = new System.Drawing.Drawing2D.AdjustableArrowCap(4,8, true);
gra.DrawLine(linePen, new Point(10, 10), new Point(200, 50));
} private void button1_Click(object sender, EventArgs e)
{
// gra.SmoothingMode = SmoothingMode;
linePen = new Pen(Color.White, (float)0.5);
linePen.CustomEndCap = new System.Drawing.Drawing2D.AdjustableArrowCap(4, 8, true);
gra.DrawLine(linePen, new Point(10, 10), new Point(200, 50));
this.pictureBox1.Invalidate();
}我的意思是我的图片上画了一条红线,我再用一条白线将红线给覆盖掉,(功能类似橡皮檫的功能,我没想到过其它的办法)
但问题就出现在这里.如果用了消除锯齿.(必须使用这个功能)
白线覆盖红线后就会留下一些点点(这些点点应该是消除锯齿时用来添充那些锯齿的点点)
请问大家该怎么来处理?
我生成的图片中有若干个矩形.类似一个树.(之间的关系用线来连起来)
第个矩形代表一下节点,当我把鼠标移动到某一下矩形上时, 将他的上级与子级之间的线变色来显示.不知我是否说清楚.在画这个树的时候会很慢.(好中鼠标每次移动都重新来画这个树的画,会很慢,
所以我只考虑将他们之间的线变色,这样程序似乎更快.更符合思路)你说的擦除的功能,(能否给个小例子,谢) 分小再加..在线等
http://blog.csdn.net/hbxtlhx/archive/2007/08/31/1766913.aspx
不过我问一下.你重画的时候调用 Inflate 这个方法是为什么?(我也是刚接触没几天)希望你帮我解决(橡皮擦的功能. 多谢.)
Form1_Paint 中加上
his.pictureBox1.BackColor = Color.White;效果更明显