C#画圆角矩形的方法

本文实例讲述了C#画圆角矩形的方法。分享给大家供大家参考。具体实现方法如下:

protected void Page_Load(object sender, EventArgs e)

{

Bitmap bm = new Bitmap(800, 600);

Graphics g = Graphics.FromImage(bm);

g.FillRectangle(Brushes.White,new Rectangle(0,0,800,600));

FillRoundRectangle(g,Brushes.Plum,new Rectangle(100, 100, 100, 100), 8);

DrawRoundRectangle(g, Pens.Yellow,new Rectangle(100, 100, 100, 100), 8);

bm.Save(Response.OutputStream, ImageFormat.Jpeg);

g.Dispose();

bm.Dispose();

}

public static void DrawRoundRectangle(Graphics g,Pen pen,Rectangle rect, int cornerRadius)

{

using (GraphicsPath path = CreateRoundedRectanglePath(rect, cornerRadius))

{

g.DrawPath(pen, path);

}

}

public static void FillRoundRectangle(Graphics g, Brush brush,Rectangle rect, int cornerRadius)

{

using (GraphicsPath path = CreateRoundedRectanglePath(rect, cornerRadius))

{

g.FillPath(brush, path);

}

}

internal static GraphicsPath CreateRoundedRectanglePath(Rectangle rect, int cornerRadius)

{

GraphicsPath roundedRect = new GraphicsPath();

roundedRect.AddArc(rect.X, rect.Y, cornerRadius * 2, cornerRadius * 2, 180, 90);

roundedRect.AddLine(rect.X + cornerRadius, rect.Y, rect.Right - cornerRadius * 2, rect.Y);

roundedRect.AddArc(rect.X + rect.Width - cornerRadius * 2, rect.Y, cornerRadius * 2, cornerRadius * 2, 270, 90);

roundedRect.AddLine(rect.Right, rect.Y + cornerRadius * 2, rect.Right, rect.Y + rect.Height - cornerRadius * 2);

roundedRect.AddArc(rect.X + rect.Width - cornerRadius * 2, rect.Y + rect.Height - cornerRadius * 2, cornerRadius * 2, cornerRadius * 2, 0, 90);

roundedRect.AddLine(rect.Right - cornerRadius * 2, rect.Bottom, rect.X + cornerRadius * 2, rect.Bottom);

roundedRect.AddArc(rect.X, rect.Bottom - cornerRadius * 2, cornerRadius * 2, cornerRadius * 2, 90, 90);

roundedRect.AddLine(rect.X, rect.Bottom - cornerRadius * 2, rect.X, rect.Y + cornerRadius * 2);

roundedRect.CloseFigure();

return roundedRect;

}

希望本文所述对大家的C#程序设计有所帮助。相关阅读:

通过过滤器(Filter)解决JSP的Post和Request中文乱码问题

MAC怎么更改iTunes中的视频类型以便顺利播放

基于php缓存的详解

Mybatis与Hibernate的区别

Win10系统更新报错800706d9程序无法运行怎么办?

Win7系统使用组策略禁止陌生人安装软件的方法图文教程

Android源码学习之工厂方法模式应用及优势介绍

os x 10.11 el capitan系统安装图文教程

jQuery处理json数据返回数组和输出的方法

Win8浏览器打开网页总是未响应怎么办?如何解决?

js闭包引起的事件注册问题介绍

Java获取mac地址的方法

微软官方博客正式公布24小时Win10安装量:已超1400万台

浅析JavaScript中的CSS属性及命名规范

php 绘制圆角矩形,C#_C#画圆角矩形的方法,本文实例讲述了C#画圆角矩形 - phpStudy...相关推荐

  1. java继承类长方形面积_java_java用接口、多态、继承、类计算三角形和矩形周长及面积的方法,本文实例讲述了java用接口、多 - phpStudy...

    java用接口.多态.继承.类计算三角形和矩形周长及面积的方法 本文实例讲述了java用接口.多态.继承.类计算三角形和矩形周长及面积的方法.分享给大家供大家参考.具体如下: 定义接口规范: /** ...

  2. 绘制矩形php,PHP_php绘制一个矩形的方法,本文实例讲述了php绘制一个矩 - phpStudy...

    php绘制一个矩形的方法 本文实例讲述了php绘制一个矩形的方法.分享给大家供大家参考.具体实现方法如下: //1.创建画布 $im = imagecreatetruecolor(300,200);/ ...

  3. php统计大写字母个数,C++_C++统计中英文大小写字母、数字、空格及其他字符个数的方法,本文实例讲述了C++统计中英文 - phpStudy...

    C++统计中英文大小写字母.数字.空格及其他字符个数的方法 本文实例讲述了C++统计中英文大小写字母.数字.空格及其他字符个数的方法.分享给大家供大家参考,具体如下: /* * 作 者: 刘同宾 * ...

  4. android绘制圆角矩形

    android中可以绘制圆角矩形. 1.利用画布cavas绘制 如果提供了一个方法可以在画布上绘制圆角矩形: 函数名称:public void drawRoundRect (RectF rect, f ...

  5. 绘制圆角矩形(方法 )

    /* sharecodes.org 友情提醒:尊重知识,转载请注明原创作者.出处! */ /// <summary> /// C# GDI+ 绘制圆角矩形 /// </summary ...

  6. JavaScript 使用canvas绘制圆角矩形边框

    目录 分析 完整代码如下 前言 在react项目中需要用到绘制矩形填充, 因为直角矩形不够美观, 需要绘制圆角填充矩形 分析 Canvas并没有提供绘制圆角矩形的方法,但是通过观察,我们可以发现,其实 ...

  7. 微信小程序使用canvas绘制圆角矩形在Android:变形、锯齿

    这两天用小程序实现分享生成海报,那我的手机测的一直没问题,结果后来用同事的小米测发现:画的图形缺个角,锯齿形的,根据小程序社区回复:使用ctx.arc + ctx.lineTo就能避免Android错 ...

  8. GDI+绘制圆角矩形

    1.最近,用到GDI+绘图,但是发现没有绘制圆角矩形的函数,故自己写了一个.下面贴出原理和代码,以作备份. 2.要绘制圆角矩形,基础是普通的直角矩形,需要做的就是将直角画成弧形. 3.绘制圆角矩形可以 ...

  9. canvas绘图,绘制圆角矩形。圆角线条。圆形头像

    //绘制圆角矩形 //x.x坐标,y,y轴坐标.width宽 height高  radius圆角(一定不能大于height的一半,否则不显示)   fillColor填充颜色.borderColor线 ...

最新文章

  1. 第四范式联合浪潮商用机器发布AI一体机,接入AI像使用手机一样简单
  2. 托管节点池助力用户构建稳定自愈的 Kubernetes 集群
  3. 青春环游记 | 雪中悍刀行之卡尔曼的鱼【回顾 2021,展望 2022】
  4. 【结论】游戏(jzoj 5536)
  5. 7-3 银行排队问题之单队列多窗口服务 (25 分)
  6. C语言137页答案,综合化学实验答案题库(137页)-原创力文档
  7. [NYOJ 15] 括号匹配(二)
  8. 51nod 1046 A^B Mod C
  9. php项目重构,跪求网页重构、前端开发、PHP 开发,坐标深圳腾讯 CDC
  10. 离散数学真值表(c语言编程实现)
  11. icom对讲机写频线定义_自制电台通用写频线(完整版).pdf
  12. Android网络编程(一次网络请求)
  13. 华为防火墙配置命令大全,超级详细
  14. 【人事】性格内向的人面试注意事项
  15. unity3d自定义Toggle组件,解决设置isOn自动调用方法
  16. 苹果自带地图进行定位
  17. PCF8563使用心得
  18. ADT for Eclipse
  19. 基于GOP的时域滤波
  20. 精力管理3—体能精力

热门文章

  1. python03-异常处理
  2. Hadoop机架感知与balancer
  3. Python 1 数据类型的操作
  4. 异构GoldenGate 12c 双向复制配置
  5. dependent-name ‘xxx::yyy’ is parsed as a non-type, but instantiation yields a type
  6. manjaro无效的软件包
  7. fpga中的case语句
  8. linux c语言工具,Linux下C语言编程环境的工具.doc
  9. 回溯 皇后 算法笔记_回溯算法:N皇后问题
  10. tomcat startup启动不起来 但也不报错_Resin 与 Tomcat 服务器对比