在路径上添加一个圆角矩形
来源:互联网 发布:传奇手游 app源码 编辑:程序博客网 时间:2024/06/15 11:01
//BOOL pathAddRoundRecangle( GraphicsPath *path , RectF rect , float roundSize )
//功能:在路径上添加一个圆角矩形
//程序员:黄江斌
//时间:8:40 2005-10-1
//最后修改时间:8:41 2005-10-1
BOOL yourClass::pathAddRoundRecangle(
GraphicsPath *path ,
RectF rect ,
float roundSize )
{
float left = rect.X;
float top = rect.Y;
float right = rect.Width + rect.X;
float bottom = rect.Height + rect.Y;
//如果取值不合法,指定roundSize为10或较短边的1/4
if( roundSize <= 0 )
roundSize = 10;
float shortOne = rect.Width < rect.Height ? rect.Width : rect.Height;
if( roundSize > shortOne / 4 )
roundSize = shortOne / 4;
//左上角
path->AddArc( left , top , 2 * roundSize , 2 * roundSize , 180 , 90 );
//上横线
path->AddLine( left + roundSize , top , right - roundSize , top );
//右上角
path->AddArc( right - 2 * roundSize , top , 2 * roundSize , 2 * roundSize , 270 , 90 );
//右竖线
path->AddLine( right , top + roundSize , right , bottom - roundSize );
//右下角
path->AddArc( right - 2 * roundSize , bottom - 2 * roundSize , 2 * roundSize , 2 * roundSize , 0 , 90 );
//下横线
path->AddLine( left + roundSize , bottom , right - roundSize , bottom );
//左下角
path->AddArc( left , bottom - 2 * roundSize , 2 * roundSize , 2 * roundSize , 90 , 90 );
//左竖线
path->AddLine( left , top + roundSize , left , bottom - roundSize );
return TRUE;
}
- 在路径上添加一个圆角矩形
- 在surfaceView上添加一个矩形框的功能
- 在surfaceView上添加一个矩形框的功能
- Canvas使用 -- 在canvas上绘制圆角矩形并添加文字
- 把一个矩形变成圆角矩形
- 判断一个点是否在圆角矩形、椭圆形内
- 如何在DC上创建一个半透明的矩形
- 在网页上画一个矩形(HTML5 Canvas作图)
- 在地图上,如何对一个地区进行矩形划分
- 在Blog上添加一个聊天器
- 在UIView上添加一个导航栏
- 如何在窗口绘制背景图片,并且在图片上话一个矩形
- C# 如何在图像上做(矩形/圆)标记
- cocos2dx如何简单判断一个点在旋转的矩形上
- 在一个平面坐标系上,有两个矩形,计算交集的面积。
- 创建一个圆角矩形按钮
- 用shape画一个圆角矩形
- 在Canvas中绘制圆角矩形
- VS.net调试ASP.NET运行项目出错:无法创建或打开应用程序
- 国庆第一天
- 设计模式之简单工厂模式
- [摘录]ICON资料
- 应用XML架构文件
- 在路径上添加一个圆角矩形
- 《完全掌握java中的"包"机制》
- 国庆长假的第一天
- 初学者应该了解的知识
- 选购主板,需要谨慎,我为大家提供些许参考……
- vc下获得文件版本信息
- 今天
- 简明进制转换的实现
- 为什么我的session.timeout 那个时间设置无效的