给UIImage添加圆角,也可用于CCSprite//给图片添加圆角显示
- (UIImage *) roundCorners: (UIImage*) img
{int w = img.size.width;int h = img.size.height;CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();CGContextRef context = CGBitmapContextCreate(NULL, w, h, 8, 4 * w, colorSpace, kCGImageAlphaPremultipliedFirst);CGContextBeginPath(context);CGRect rect = CGRectMake(0, 0, img.size.width, img.size.height);addRoundedRectToPath(context, rect, 10, 10);CGContextClosePath(context);CGContextClip(context);CGContextDrawImage(context, CGRectMake(0, 0, w, h), img.CGImage);CGImageRef imageMasked = CGBitmapContextCreateImage(context);CGContextRelease(context);CGColorSpaceRelease(colorSpace);[img release];return [UIImage imageWithCGImage:imageMasked];
}//这是被调用的静态方法
static void addRoundedRectToPath(CGContextRef context, CGRect rect,float ovalWidth,float ovalHeight)
{float fw, fh;if (ovalWidth == 0 || ovalHeight == 0) {CGContextAddRect(context, rect);return;}CGContextSaveGState(context);CGContextTranslateCTM (context, CGRectGetMinX(rect),CGRectGetMinY(rect));CGContextScaleCTM (context, ovalWidth, ovalHeight);fw = CGRectGetWidth (rect) / ovalWidth;fh = CGRectGetHeight (rect) / ovalHeight;CGContextMoveToPoint(context, fw, fh/2);CGContextAddArcToPoint(context, fw, fh, fw/2, fh, 1);CGContextAddArcToPoint(context, 0, fh, 0, fh/2, 1);CGContextAddArcToPoint(context, 0, 0, fw/2, 0, 1);CGContextAddArcToPoint(context, fw, 0, fw, fh/2, 1);CGContextClosePath(context);CGContextRestoreGState(context);
}

经测验,可以正常使用。

转载于:https://www.cnblogs.com/ygm900/archive/2013/05/18/3085480.html

[转]给UIImage添加圆角(圆角矩形),也可用于CCSprite相关推荐

  1. Qt项目中,绘制只有两个圆角的矩形及QPainterPath类的应用

    总第39篇 本文主要梳理总结了在Qt项目开发过程中,某些特殊场合绘制只有两个圆角矩形的方法,并在此基础上详细介绍了类QPainterPath的用法. 1.两个圆角矩形的绘制方法 在Qt项目中,绘制只有 ...

  2. QML Shape实现任意圆角Rectangle矩形

    前言 QML中有时候需要实现一些特殊定制化页面,比如不同的圆角矩形,如果直接用Rectangle控件定义radius圆角属性,会将四个角统一设置成一样的圆角,但是如果仅仅只想实现两个圆角效果,另外两个 ...

  3. 微信小程序:swiper轮播图添加外层圆角

    微信小程序:swiper轮播图添加外层圆角 .swiper-wrap{overflow: hidden;border-radius: 8rpx;box-sizing: border-box;width ...

  4. html 图片左上角圆角,圆角

    圆角是用一段与角的两边相切的圆弧替换原来的角,圆角的大小用圆弧的半径表示.在网页设计越来越精美的今天,圆角的应用已经越来越广泛. 中文名 圆角 外文名 Fillet 释    义 一段与角的两边相切的 ...

  5. android fresco 圆角,圆角和圆圈

    应用经常需要让图片有圆角或者直接变成圆形来显得更加好看,Drawee 可以轻松支持圆角显示,并且显示圆角时,并不复制和修改Bitmap对象,那样太耗费内存. 圆角 圆角实际有2种呈现方式: 圆圈 - ...

  6. Maya: 菜单 编辑NURBS 曲面圆角圆角混合工具

    编辑NURBS >曲面圆角>圆角混合工具 可以使用手柄直接选择等参线.曲面曲线或修剪边界来定义想要倒角的位置.

  7. 如何给机械臂添加hande机械爪并应用于moveit

    如何给机械臂添加hande机械爪并应用于moveit 1.从源码下载hande机械爪文件: 2.更改srv文件 3.更改gripper_node.py 4.通过clien和service控制机械爪: ...

  8. swift:使用协议protocol设置颜色,UIImage的切圆角ImageWithCornerRadius

    //使用协议 方便以后切换颜色配置文件.或者做主题配色之类乱七八糟产品经理最爱的功能 protocol V2EXColorProtocol{ var v2_backgroundColor: UICol ...

  9. D3.js 绘制带圆角的矩形 + 带箭头的指示线

    目录 1. 添加带箭头的标线 2. 设置单个矩形盒子的宽高.偏移缩放效果 3. 添加 svg 元素,设置首次加载位置 4. 设置每个盒子纵横向的间距 5. 绘制矩形外层 box 6. 绘制矩形内层 b ...

最新文章

  1. Java开发微信公众号(四)---微信服务器post消息体的接收及消息的处理
  2. 2015快捷键在哪里设置_炒股软件的选择通达信软件的基本设置
  3. 程序人生:程序员成熟的标志
  4. 阿里云学生轻量级应用服务器安装MySQL
  5. 《设计模式详解》笔记目录
  6. Akka适用于分布式系统《five》译
  7. java学习(三)内部类
  8. ExtJS(5)- Ext5的统计图Chart
  9. aix系统vi修改命令_aix系统VI编辑器的操作
  10. 欺骗的艺术.资料搜集自互联网.
  11. php将数组打印到txt文件
  12. Kotlin for Android (let、with、run、apply、also函数)
  13. CPU内部原理,一文解析
  14. 2013年节假日放假安排时间表
  15. QQ/微信 聊天表情显示原理
  16. 视觉SLAM笔记(64) 八叉树地图
  17. 2019年北理工计算机北航计算机中山大学计算机北邮网研院保研夏令营
  18. 从音频提取音高以及音符
  19. 火狐主页被360导航篡改(360安全卫士中的主页防护导致的)
  20. 卫星导航系统的发展历史

热门文章

  1. 第三阶段:2.产品运营:4.活动运营
  2. [转载 整理]C语言链表实例
  3. 【转】找到 MySQL 数据库中的不良索引
  4. XNA游戏开发之(六)——保存游戏数据
  5. 安卓开发37:自定义的HorizontalScrollView类,使其pageScroll的时候焦点不选中
  6. bootstrap 栅栏系统
  7. Hadoop HDFS概念学习系列之熟练掌握HDFS的Shell访问(十五)
  8. Python常用网页字符串处理技巧
  9. c# 使用Autodesk design Review API
  10. [redis] Redis 常用命令