把图片切成圆角代码

原创 2011年01月16日 23:24:00

把图片切成圆角代码   


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);  // Start at lower right corner
    CGContextAddArcToPoint(context, fw, fh, fw/2, fh, 1);  // Top right corner
    CGContextAddArcToPoint(context, 0, fh, 0, fh/2, 1); // Top left corner
    CGContextAddArcToPoint(context, 0, 0, fw/2, 0, 1); // Lower left corner
    CGContextAddArcToPoint(context, fw, 0, fw, fh/2, 1); // Back to lower right
    
    CGContextClosePath(context);
    CGContextRestoreGState(context);
}


+ (id) createRoundedRectImage:(UIImage*)image size:(CGSize)size
{
    // the size of CGContextRef
    int w = size.width;
    int h = size.height;
    
    UIImage *img = image;
    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
    CGContextRef context = CGBitmapContextCreate(NULL, w, h, 8, 4 * w, colorSpace, kCGImageAlphaPremultipliedFirst);
    CGRect rect = CGRectMake(0, 0, w, h);
    
    CGContextBeginPath(context);
    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);
    return [UIImage imageWithCGImage:imageMasked];
}

直接调用createRoundedRectImage....
返回圆角图片
圆角大小自行修改CGContextAddArcToPoint....

Android图片加载神器之Fresco-Java代码实现圆形圆角效果

转载自:http://blog.csdn.net/y1scp/article/details/49734429 RoundingParams 百学须先立志—学前须知: 之前我们学会了一...
  • xiaoqiang_0719
  • xiaoqiang_0719
  • 2016年09月05日 10:00
  • 1655

Java缩放图片及剪裁圆形图标代码

剪裁圆形图标对生成png格式有效,对jpg无效,代码如下:import java.awt.AlphaComposite; import java.awt.Color; import java.awt....
  • Kid2000
  • Kid2000
  • 2016年07月27日 22:01
  • 2141

Objective-C图片切圆角优化

iOS开发中我们会经常对图片进行切圆角操作,常见的做法是这样的: myImgView.layer.cornerRadius = 25; myImgView.layer.m...
  • liu1347508335
  • liu1347508335
  • 2016年06月14日 17:41
  • 2438

用Photoshop把图片切成圆角

使用圆角矩形工具,首选选择矩形工具,点击鼠标不松开,矩形工具区就回弹出多个选项,这个时候你就可以选择到圆角矩形工具了。     这里要注意一下矩形工具默认的是形状图层,一定要选择路径,才...
  • wbw1985
  • wbw1985
  • 2012年10月17日 20:44
  • 7160

生成阴影,根据image主色来设置阴影,切成圆角之类的阴影仍然存在

仿照一个GitHub安卓端效果做的,可以根据图片的主题色显示不同的阴影 项目下载地址: https://github.com/gofey/MagicShadowMaker 使用...
  • GofeyLee
  • GofeyLee
  • 2017年04月28日 10:58
  • 248

【Android图像处理】将一张图片切成许多碎片

说到图片切块,首先想到的是拼图游戏,在载入图片的时候回进行图片切块操作,增加难度的时候会再一次进行切块操作,不同的是切块的数量会更多。 首先来看一下拼图算法: //拼图 public stat...
  • qq_32353771
  • qq_32353771
  • 2016年11月18日 13:42
  • 1065

前端实战(一)-----用ps把PSD切成HTML能用的图片

本章实际操作使用ps来进行切图,分成四部分来讲解: 1.切图的常规步骤 2.如何只保留某一部分 3.删除切片 4去掉默认切片线 切图的常规步骤 我现在有一张登录框的psd,...
  • q383965374
  • q383965374
  • 2016年01月26日 22:59
  • 4276

html5 css3 将长方形图片 切成 直角梯形显示

效果图如上 skew test html,body,div,img{ margin:0; padding:0; } img{ border:0 none; } .pic1{ w...
  • snow_finland
  • snow_finland
  • 2014年09月30日 13:40
  • 4530

在GridView中加载图片,使用Glide加载图片并切成圆形。

  • 2016年10月14日 09:47
  • 24.07MB
  • 下载

【Python_Demo_4】 利用OpenCv的ROI区域,将衣服图片切成规则的小图片的python程序

#coding = utf-8 #===================================================================================...
  • maweifei
  • maweifei
  • 2016年11月16日 20:14
  • 1655
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:把图片切成圆角代码
举报原因:
原因补充:

(最多只允许输入30个字)