用贝赛尔曲线把图片, 按钮, label 绘成圆 或圆角矩形

//创建圆形遮罩,把用户头像变成圆形

/*

*CGPointMake(35, 35)  是绘图的中心点,  如果想把控件居中绘圆, 一般用控件的中心点,   radius 是圆半径   startAngle是圆周 圆的一周就是2*m_pi

*/

//    UIBezierPath* path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(35, 35) radius:35 startAngle:0 endAngle:2 * M_PI clockwise:YES];

//创建圆角矩形遮罩,把用户头像变成圆角矩形

//    UIBezierPath* path =[UIBezierPath bezierPathWithRoundedRect:self.d_teacherIcon.frame cornerRadius:10];

CGRect rect = self.d_teacherIcon.frame;// button ,imageView, label 等控件的尺寸

/*

*CGRectMake(0, 0, rect.size.width, rect.size.height)   , 0,0 是绘图的左上角坐标,  width, height 是绘图的宽高,10 是圆角

*/

UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, rect.size.width, rect.size.height) cornerRadius:10];

CAShapeLayer* shape = [CAShapeLayer layer];

shape.path = path.CGPath;

self.d_teacherIcon.layer.mask = shape;

时间: 2024-10-19 10:11:25

用贝赛尔曲线把图片, 按钮, label 绘成圆 或圆角矩形的相关文章

Xfermode实现圆角矩形或者圆角图片

最近一段时间学了很多关于圆角矩形或者圆角图片制作的文章,写的都很好,但是每次一学完都会做,但是过段时间又不记得该怎么写代码了,反思了一下,是自己只是在看,并没有真正的消化,所以还不算自己的东西,于是今天又把大神的代码又看了看,自己总结,自己再写一遍,算是明白了吧,也想写个文章记录一下,方便下次寻找,也可以分享出来. Xfermode是android画笔Paint可以设置的一种画笔属性,具体就是可以把两张图片进行组合,根据设置的形式,可以组合多种形式,具体大家看图: 这里用的就是SrcIn模式,大

cocos2d-x 3.4 之 文字按钮与图片按钮

***************************************转载请注明出处:http://blog.csdn.net/lttree******************************************** cocos2d-x 中用按钮地方很多,发现之前也没写过(其实真没什么可写的). 今天正好用到文字按钮这块,就弄了个Demo耍了下,记录一下. PS:宿舍现在是真冷啊,手冻得都哆嗦,每每睡觉前我都想到一句诗:布衾多年冷似铁... >>>图片按钮 通过Men

mfc 按钮自绘

MFC  按钮自绘 :songyanwu 如果你是大神就没必要看这个文章了! 说明 源码下载:mfc 按钮自绘 先说说自己的一些想法:我就想把按钮封装成一个类,每次在使用的时候会很方便,当然在自己的类中去重载也可以! 此文章可借鉴学习:MFC基础,MFC自绘控件学习总结. (我也主要研究了自绘控件的子类化方法  ),看完前面推荐的文章,你似乎有何种感觉呢? 先实际操作吧;原理在后面介绍: 1 新建一个对画框 应用程序 2 新添加一个CMyButton继承CButton 3 为你自己添加的类 添加

VC++ WIN32 sdk实现按钮自绘详解.

网上找了很多,可只是给出代码,没有详细解释,不便初学者理解.我就抄回冷饭.把这个再拿出来说说. 实例图片: 首先建立一个标准的Win32 Application 工程.选择a simple Win32 Application. 然后建立我们的资源文件首先新建一个对话框资源,资源ID改为IDD_MAIN_DLG 然后在其上新建一个按钮控件资源ID改为IDC_ODBUTTON,此按钮的styles中必须选中owenerdraw属性. 然后将其保存为.rc的资源文件.并将其导入我们的工程.同理新建一个

WPF利用Image实现图片按钮

之前有一篇文章也是采用了Image实现的图片按钮,不过时间太久远了,忘记了地址.好吧,这里我进行了进一步的改进,原来的文章中需要设置4张图片,分别为可用时,鼠标悬浮时,按钮按下时,按钮不可用时的图片,这里我只用了一张图片,利用C#的图片灰度处理自动获得不可用时的图片,利用图片的间距实现悬浮及按下效果.先上效果:(正常 悬浮 按下 不可用) 代码其实比较简单,唯一的难点就是把图片转换成ImageSource,在网上找了很久终于找到了一个,转换代码如下: 1 ///<summary> 2 ///设

VC++ WIN32 sdk实现按钮自绘详解 之二.

网上找了很多,可只是给出代码,没有详细解释,不便初学者理解.我就抄回冷饭.把这个再拿出来说说. 实例图片: 首先建立一个标准的Win32 Application 工程.选择a simple Win32 Application. 然后建立我们的资源文件首先新建一个对话框资源,资源ID改为IDD_MAIN_DLG 然后在其上新建一个按钮控件资源ID改为IDC_ODBUTTON,此按钮的styles中必须选中owenerdraw属性. 然后将其保存为.rc的资源文件.并将其导入我们的工程.同理新建一个

IOS开发—图片压缩/解压成Zip文件

图片压缩/解压成Zip文件 本文介绍如何将图片压缩成Zip文件,首先需要下载第三方库ZipArchive 并导入项目中. ZipArchive 库地址:https://github.com/mattconnolly/ZipArchive 一.文档结构: 二.准备工作: 1.框架导入: 2.ZipArchive.m文件使用非ARC机制 三.代码示例: // // ViewController.m // UnzipImgDemo // // Created byLotheve on 15/4/10.

NGUI 3.5教程(四)Atlas和Sprite(制作图片按钮)

向原创致敬http://blog.csdn.net/chenggong2dm/article/details/25594059 Atlas是NGUI的图集.我的理解是:Atlas把你的一些零散的图片,合并成一张图.这样做的好处是,可以降低Draw Call.我不了解它的底层运作机制,我猜应该也是再行进DXT之类的纹理压缩,所以,最好把图集的尺寸,也做成128, 256,512,1024之类的大小,以方便其进行格式压缩. 概念: Atlas : 图集.把美术给你提供的素材,用 NGUI 的 Atl

MFC按钮重绘

1 //按钮重绘函数 2 void CWeather091001Dlg::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct) { 3 CDC buttonDC; 4 CBitmap bitmapTrans; 5 BITMAP bmp; 6 CDC mem; 7 CRect rc; 8 buttonDC.Attach(lpDrawItemStruct->hDC); 9 //得到用于绘制按钮的DC 10 mem.CreateCompat