把图片切成圆角代码

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....

时间: 2024-11-02 16:36:27

把图片切成圆角代码的相关文章

把图片切成小片(IOS)

把图片切成小片(IOS) by 伍雪颖 #import <Foundation/Foundation.h> #import <AppKit/AppKit.h> int main(int argc, const char * argv[]) { @autoreleasepool { if (argc < 2) { return 0; } NSString *inputFile = [NSString stringWithCString:argv[1] encoding:NSUT

PS将长图片切成小图分别保存

1.导入长图,(没有标尺的, 快捷键[CTRL+R]调出标尺): 2.鼠标左键, 参考线拉下来,放到想要分割的位置 3.然后在左边工具栏找到[切片工具] 4.然后点击顶部栏的[基于参考线的切片] 5.然后点击键盘上的[ctrl+alt+shift+s]键,以想要的格式导出图片 6.在新弹出窗口,预设那里选择[JPEG高]比较好点,然后点击[存储] 7.选择保存的位置,会在子位置新建一个文件夹images 8.在保存位置找文件夹images,里面就是分割之后的图 原文地址:https://www.

JS+PHP 图片切圆角+九宫格 的 功能 帮你火爆朋友圈 www.zxgj.cn

效果还是不错的 JS + php 模式 $("#commit").click(function(){ showjiazai(); var tpform2 = document.getElementById('tpform2'); var formData = new FormData(tpform2); $(".img-responsive").each(function(){ var blob = dataURItoBlob(this.src); formData

html5将图片转换成base64的实例代码

这篇文章给大家介绍了如何利用html5将图片转换成base64,文中通过示例代码介绍的很详细,有需要的朋友们可以参考借鉴. base64编码介绍base64是一种网络上常用的8bit字节代码的编码方式,base64可以用于http环境下传递较长的标识信息,同时可以放在url当中使用,因为base64不惧可读性,所以具有一定的加密功能. 为什么要把图片转换成base64编码?将图片转换成base64代码可以减少http请求,因为图片可以以字符编码的形式直接传递到客户端,而文件形式都需要进行http

如何将方形图片磨成圆形图片

如何将方形图片磨成圆形图片 在开发中经常会有一些需求,比如显示头像,显示一些特殊的需求,将图片显示成圆角或者圆形或者其他的一些形状.但是往往我们手上的图片或者从服务器 获取到的图片都是方形的.这时候就需要我们自己进行处理,将图片处理成所需要的形状. 使用Xfermode 两图相交方式 通过查找资料通过查找资料发现android中可以设置画笔的Xfermode即相交模式,从而设置两张图相交之后的显示方式,具体模式见下图,源码可以去android apidemo.(SRC 为我们要画到目标图上的图即

彩色图片渐变成灰色图片

在遇到英雄死亡需要让它变黑白的过程中参考ps中图片渐变成灰色的方式 解决思路是使用两张图片,一张彩色一张黑白,让彩色透明度随时间增长变0 网上有彩图变灰的代码如下 do { const GLchar* pszFragSource = "#ifdef GL_ES \n \ precision mediump float; \n #endif \n \ uniform sampler2D u_texture; \n varying vec2 v_texCoord; \n varying vec4 v

Unity3D NGUI图集切成图片

Unity3D NGUI图集切成图片 有的时候用NGUI做好了图集,那么原图就没有必要放到Unity3D中了,严重影响Unity3D的速度.但是突然右想把图片弄出来.当然NGUI是提供了图集中单个图片另存,但是如果图片太多,比较费时间,所以用python写了个切图片的工具代码如下: Python环境:2.7 测试通过,需要依赖Image库 NGUI版本:3.7 #coding:utf-8 #unity 图集裁剪成png #Author:Wiker Yong #Date:2015-07-08 im

【代码笔记】将图片处理成圆的

一,效果图. 二,工程图. 三,代码. ViewController.m - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. //初始化界面 [self addView]; } #pragma -mark -functions //初始化界面 -(void)addView { UIImageView *imageVie

Bootstrap3基础 img-thumbnail 给图片加一个圆角的边框

礼悟:    公恒学思合行悟,尊师重道存感恩.叶见寻根三返一,江河湖海同一体.          虚怀若谷良心主,愿行无悔给最苦.读书锻炼养身心,诚劝且行且珍惜.              ide:visual studio 2017             browser:Firefox / Chrome   bootstrap:3.3.7 代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8&qu