前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS CGImageCreateWithImageInRect将若干规则小图片组成的大图片剪切

iOS CGImageCreateWithImageInRect将若干规则小图片组成的大图片剪切

作者头像
Python疯子
发布2018-09-06 16:04:54
1.3K0
发布2018-09-06 16:04:54
举报
文章被收录于专栏:Python疯子Python疯子

在开发中,有时设计师会给我们一个大图片(有若干规则小图片组成),让我们做分开处理并使用 至于为什么要给我们大图片: 001、省空间,一张大图片肯定比若干小图片省空间 002、设计师也方便作图,做一张要比若干张省事

如图:

Bank.png

BankList.png

我们在还使用时就需要将其分开,单独拿来使用 使用 CGImageCreateWithImageInRect 进行剪切处理 我已经做成了一个小方法,会在最后给出链接,只需要导入,调用即可,我说一下处理步骤 001、将大图做成UIImage已方便取值和处理

 // 从大图片裁剪对应的小图片
UIImage *bigImage = [UIImage imageNamed:bigImageName];

002、规则的小图片的宽和高

 // 小图形的宽
CGFloat smallW = bigImage.size.width / 横向小图标个数 ;
 // 小图形的高
CGFloat smallH = bigImage.size.height / 竖向小图标个数 ;

003、确定小图标的位置

CGRect smallRect = CGRectMake(X, Y, smallW, smallH);

004、获取小图片并转为UIImage

// CGImageCreateWithImageInRect  获取小图片
CGImageRef smallImageRef = CGImageCreateWithImageInRect(bigImage.CGImage, smallRect);

// 将图片转为UIImage
UIImage* smallImage = [UIImage imageWithCGImage: smallImageRef];

使用实例:

屏幕快照 2016-12-09 20.39.56.png

屏幕快照 2016-12-09 20.41.55.png

点击下载Demo 使用方法: 001、导入文件: #import "YoungCutImage.h" 002、调用类方法,用UIImage接收返回值 #pragma mark X:横向第几个 Y:竖向第几个 wideCount:横向小图标的个数 heightCount:纵向小图标的个数 +(UIImage *)cutBigImageName:(NSString *)bigImageName wide_X:(CGFloat)X heigh_Y:(CGFloat)Y wideCount:(CGFloat)wideCount heightCount:(CGFloat)heightCount;

方法调用示例:

UIImage *bankImage = [YoungCutImage cutBigImageName:@"BankList" wide_X:0 heigh_Y:indexPath.row wideCount:1 heightCount:3];

点击下载Demo

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016.12.09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档