C#GDI画圆及填充
来源:互联网 发布:阿里云客服招聘 编辑:程序博客网 时间:2024/05/10 05:49
用C#代码画圆的时候不知大家遇到没有遇到过这样的问题,就是画过圆以后,矩形的四角轮廓还是存在的,让人感觉不够完美,就如下图所示:
我画的这个是基于自定义控件的,声明类以后继承Control类,然后在这个类中重写OnPaint的事件,完成上图所需要的代码:
protected override void OnPaint(PaintEventArgs e)
{
if(this.Width!=This.Heigth)
{
this.Width=this.Heigth;//这句代码就是确保画的控件外观始终保持圆
}
Pen p = Pens.Black;//声明一个画笔
//Brush b = new SolidBrush(Color.Red);//声明的画刷
Brush b = new LinearGradientBrush(new Point(0, this.Width / 2), new Point(this.Height, this.Width / 2), Color.FromArgb(50, 50, 100), Color.FromArgb(50, 50, 200));//LinearGradientBrush是要System.Drawing.Drawing2D;命名控件下的,可以是填充颜色渐变
Rectangle r=new Rectangle(0,0,this.Width,this.Height);//标识圆的大小
e.Graphics.DrawEllipse(p,r);
e.Graphics.FillEllipse(b, r);
base.OnPaint(e);
}
大家也都知道虽说画圆,但是画的圆还是基于矩形的轮廓画的,就是以矩形的左上角的坐标,矩形的长宽为半径画的圆,所以才形成了圆的后边的四角显示的现象,先看一下最终的效果:
可以看到这个圆形已经没有了矩形的四角,其实只需要设置圆形的显示区域即可,实现的方法是:
GraphicsPath g = new GraphicsPath();
g.AddEllipse(0, 0, this.Width, this.Height);
this.Region = new Region(g);//这句就是设置圆形的规格区域的
在上边的代码后边加上这三行代码即可达到预期的效果!
- C#GDI画圆及填充
- GDI+学习及代码总结之------画线、区域填充、写字
- GDI+学习及代码总结之------画线、区域填充、写字
- GDI+学习及代码总结之------画线、区域填充、写字
- GDI绘制填充图一
- GDI绘制填充图二
- gdi文字和矩形填充
- C#GDI画立体渐变圆角panel
- C#GDI
- GDI+(C#)
- MFC 用gdi绘制填充多边形区域
- GDI+学习之------ 画线、区域填充、写字
- (C#) GDI+简单绘图画直线
- (C#)GDI+简单绘图画多边形
- (C#)GDI+简单绘图画曲线
- (C#)GDI+简单绘图画矩形
- (C#)GDI+简单绘图画椭圆
- GDI+ 填充背景时,很多时候不起作用,GDI、GDI+配合运用
- 山东教师教育网研修平台-首页
- win7 右键在目录当前打开命令行窗口
- VB操作文件实例
- Android之.mk详解
- java中map的种类区别及排序详解(map集合的使用)
- C#GDI画圆及填充
- ROS usb_cam package
- SpringBean的作用域
- C#.NET编程规范总结
- 图片上传
- Linux基础命令
- sql server2014不允许保存更改。阻止保存要求重新创建表的更改
- js实现左右滑动分页
- Thymeleaf 模板引擎