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. 如何访问docker内php,docker中容器之间如何访问
  2. 【小项目关键技术】硬件通信三种方式、串口、IIC、SPI
  3. mysql主从位点保存时间_MySQL主从备份
  4. Java并发知识总结,超详细!(上)
  5. 字典排序 python3_一步一步学Python3(小学生也适用) 第十二篇: 元组tuple类型
  6. 怎么建立微信生态用户增长模型?
  7. 三层架构dao service 表示层 115721935
  8. 微导管行业调研报告 - 市场现状分析与发展前景预测
  9. 常见视频封装格式(3) — MP4
  10. Fortigate(飞塔)防火墙密码恢复
  11. 网关和路由器功能的有哪些不同
  12. git查看stash里面的具体内容
  13. 优酷视频APP的缓存视频在哪里
  14. 两年后,我仍然想念耳机端口
  15. 基金申请-13:如何查论文的影响因子和SCI分区?
  16. 安装程序无法继续,因为您的计算机上安装了更新的internet explorer
  17. 计算机网络 —— TCP的三次握手四次挥手
  18. 工业基础类IFC—如何阅读物理文件
  19. FT2004(D2000)开发实战之网口stmmac报错调试(Failed to reset the dma)
  20. invalid privatekey问题

热门文章

  1. OpenCV中使用YOLO对象检测
  2. 【深度学习基础】一步一步讲解卷积神经网络
  3. 基于OpenCV的多位数检测器
  4. HTML 5 应用程序缓存
  5. 【306】通过ArcPy编写ArcToolbox
  6. ZOJ 3329 One Person Game 带环的概率DP
  7. Python——eventlet.websocket
  8. Attention! .net 持久层正式发布 :Noebe
  9. aaynctask控制多个下载进度_AsyncTask用法解析-下载文件动态更新进度条
  10. 上古卷轴3晨风职业_上古卷轴3:晨风