c# GDI+绘图

如何在容器panel里面画图啊?... 如何在容器panel里面画图啊? 展开
 我来答
gongchengjia
2012-07-12 · TA获得超过130个赞
知道小有建树答主
回答量:225
采纳率:0%
帮助的人:128万
展开全部
兄弟你要画什么,我之前研究过一段
追问
界面的某一块区域画一个波形图
追答
不规则的话,你要用到e.Graphics.DrawLine 计算各个点的坐标,然后画线连接点
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
freshiron
2012-07-13 · TA获得超过333个赞
知道小有建树答主
回答量:179
采纳率:100%
帮助的人:214万
展开全部
看看下面的代码吧。
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);
//还要画啥,你往下添吧.

}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
破君官奇奇
2012-07-12 · 超过30用户采纳过TA的回答
知道答主
回答量:173
采纳率:0%
帮助的人:82.4万
展开全部
可以,你先得创建一个画布,在画布上面绘画
追问
呵呵,怎么在画布上画。。。。怎么创建画布。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式