3个回答
展开全部
兄弟你要画什么,我之前研究过一段
追问
界面的某一块区域画一个波形图
追答
不规则的话,你要用到e.Graphics.DrawLine 计算各个点的坐标,然后画线连接点
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看看下面的代码吧。
private void button1_Click(object sender, EventArgs e)
{
Graphics g = this.panel1.CreateGraphics();
Rectangle PicRect = this.panel1.ClientRectangle;
Rectangle myRect = new Rectangle(0, 0, PicRect.Width / 3, PicRect.Height);
g.DrawRectangle(Pens.Red, myRect);
g.FillRectangle(Brushes.Red, myRect);
myRect = new Rectangle(PicRect.Width / 3, 0, PicRect.Width / 3, PicRect.Height);
g.DrawRectangle(Pens.Green, myRect);
g.FillRectangle(Brushes.Green, myRect);
myRect = new Rectangle(PicRect.Width / 3 * 2, 0, PicRect.Width / 3, PicRect.Height);
g.DrawRectangle(Pens.Blue, myRect);
g.FillRectangle(Brushes.Blue, myRect);
}
private void button2_Click(object sender, EventArgs e)
{
//创建一个Graphics实例,让它通过windows系统去与外部设备打交道;
Graphics g = this.panel1.CreateGraphics();
g.Clear(Color.White); //将画面擦干净
//设计一下画的透明度
int transValue = 255;
//拿来一把红色的画刷;
SolidBrush myBrush = new SolidBrush(Color.FromArgb(transValue, Color.Red));
//拿来一把红色的画笔
Pen myPen = new Pen(Color.FromArgb(transValue, Color.Red), 1);
g.DrawLine(myPen, -200, 0, 200, 0); //水平方向画一条线
g.DrawLine(myPen, 0, -200, 0, 200); //垂直方向画一条线
Font myFont = new Font("黑体", 15); //设计一下我要写的字的字体及大小
//将我要写的所有字的尺寸测量一下
SizeF strSize = g.MeasureString("FURENJUN 绘图", new Font("黑体", 15), new PointF(), StringFormat.GenericDefault);
int width = (int)(strSize.Width + 10.0f);
//好了,写几个字看看吧
g.DrawString("写几个字看看吧", myFont, myBrush, new PointF(10, 5));
//再画一个长方形
Rectangle rect = new Rectangle(width, 0, 30, (int)strSize.Height);
g.DrawRectangle(new Pen(Color.FromArgb(transValue, Color.Blue), 1), rect);
g.FillRectangle(new SolidBrush(Color.FromArgb(transValue, Color.Blue)), rect);
g.TranslateTransform(10, 0);//水平移动10pz
g.TranslateTransform(0, 10);//垂直移动 10px
g.RotateTransform(30); //旋转30度
//再画一个圆
g.DrawPie(Pens.Red, rect, 0, 360);
g.FillPie(Brushes.Red, rect, 0, 360);
//还要画啥,你往下添吧.
}
private void button1_Click(object sender, EventArgs e)
{
Graphics g = this.panel1.CreateGraphics();
Rectangle PicRect = this.panel1.ClientRectangle;
Rectangle myRect = new Rectangle(0, 0, PicRect.Width / 3, PicRect.Height);
g.DrawRectangle(Pens.Red, myRect);
g.FillRectangle(Brushes.Red, myRect);
myRect = new Rectangle(PicRect.Width / 3, 0, PicRect.Width / 3, PicRect.Height);
g.DrawRectangle(Pens.Green, myRect);
g.FillRectangle(Brushes.Green, myRect);
myRect = new Rectangle(PicRect.Width / 3 * 2, 0, PicRect.Width / 3, PicRect.Height);
g.DrawRectangle(Pens.Blue, myRect);
g.FillRectangle(Brushes.Blue, myRect);
}
private void button2_Click(object sender, EventArgs e)
{
//创建一个Graphics实例,让它通过windows系统去与外部设备打交道;
Graphics g = this.panel1.CreateGraphics();
g.Clear(Color.White); //将画面擦干净
//设计一下画的透明度
int transValue = 255;
//拿来一把红色的画刷;
SolidBrush myBrush = new SolidBrush(Color.FromArgb(transValue, Color.Red));
//拿来一把红色的画笔
Pen myPen = new Pen(Color.FromArgb(transValue, Color.Red), 1);
g.DrawLine(myPen, -200, 0, 200, 0); //水平方向画一条线
g.DrawLine(myPen, 0, -200, 0, 200); //垂直方向画一条线
Font myFont = new Font("黑体", 15); //设计一下我要写的字的字体及大小
//将我要写的所有字的尺寸测量一下
SizeF strSize = g.MeasureString("FURENJUN 绘图", new Font("黑体", 15), new PointF(), StringFormat.GenericDefault);
int width = (int)(strSize.Width + 10.0f);
//好了,写几个字看看吧
g.DrawString("写几个字看看吧", myFont, myBrush, new PointF(10, 5));
//再画一个长方形
Rectangle rect = new Rectangle(width, 0, 30, (int)strSize.Height);
g.DrawRectangle(new Pen(Color.FromArgb(transValue, Color.Blue), 1), rect);
g.FillRectangle(new SolidBrush(Color.FromArgb(transValue, Color.Blue)), rect);
g.TranslateTransform(10, 0);//水平移动10pz
g.TranslateTransform(0, 10);//垂直移动 10px
g.RotateTransform(30); //旋转30度
//再画一个圆
g.DrawPie(Pens.Red, rect, 0, 360);
g.FillPie(Brushes.Red, rect, 0, 360);
//还要画啥,你往下添吧.
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以,你先得创建一个画布,在画布上面绘画
追问
呵呵,怎么在画布上画。。。。怎么创建画布。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询