ios-改变图片的尺寸

//改变图片的尺寸
-(UIImage*) OriginImage:(UIImage *)image scaleToSize:(CGSize)size
{
UIGraphicsBeginImageContext(size); //size 为CGSize类型,即你所需要的图片尺寸
[image drawInRect:CGRectMake(0, 0, size.width, size.height)];
UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImage *imagescaless= [self imageRetain:scaledImage];
return imagescaless; //返回的就是已经改变的图片
}
//对.2x图片进行处理
-(UIImage*)imageRetain:(UIImage *)sourceImage
{
CGSize size;
size = CGSizeMake(sourceImage.size.width / 2.0f, sourceImage.size.height / 2.0f);
UIGraphicsBeginImageContextWithOptions(size, NO, 0);
if (1.0 == [[UIScreen mainScreen] scale]){
[sourceImage drawInRect:CGRectIntegral((CGRect){0.0f, 0.0f, size})];
}else{
[sourceImage drawInRect:(CGRect){0.0f, 0.0f, size}];
sourceImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}
return sourceImage;
}
下面是调用方法:
- (void)viewDidLoad
{
[super viewDidLoad];
_dataList=[[NSMutableArray alloc]initWithCapacity:10];
[self initViews];
NSArray *tmpArray1 = @[@"照片墙",@"讨论区",@"群组",@"通讯录"];
self.SXHAry = tmpArray1;
NSArray *tmpArray2 = @[@"晚报放心购",@"厦门房产动态",@"厦门车市动态"];
self.XMRBAry = tmpArray2;
NSArray *bFirsts = @[@"gc1.png",@"gc2.png",@"gc3.png",@"gc4.png"];
NSMutableArray *bFirst=[[NSMutableArray alloc]initWithCapacity:0];
for (int i=0; i<bFirsts.count; i++) {
UIImage*images=[UIImage imageNamed:[bFirsts objectAtIndex:i]];
UIImage *imagenew=[self OriginImage:images scaleToSize:CGSizeMake(45, 45)];
[bFirst addObject:imagenew];
}
self.bFirstAry = [bFirst copy];
NSArray *bSecconds = @[@"gc6.png",@"gc7.png",@"gc8.png"];
NSMutableArray *bSecond=[[NSMutableArray alloc]initWithCapacity:0];
for (int i=0; i<bSecconds.count; i++) {
UIImage*images=[UIImage imageNamed:[bSecconds objectAtIndex:i]];
UIImage *imagenew=[self OriginImage:images scaleToSize:CGSizeMake(45, 45)];
[bSecond addObject:imagenew];
}
self.bSecondAry = [bSecond copy];
NSArray *rFirsts = @[@"gc1.png",@"gc2.png",@"gc3.png",@"gc4.png"];
NSMutableArray *rFirst=[[NSMutableArray alloc]initWithCapacity:0];
for (int i=0; i<rFirsts.count; i++) {
UIImage*images=[UIImage imageNamed:[rFirsts objectAtIndex:i]];
UIImage *imagenew=[self OriginImage:images scaleToSize:CGSizeMake(45, 45)];
[rFirst addObject:imagenew];
}
self.rFirstAry = [rFirst copy];
NSArray *rSeconds = @[@"gc6.png",@"gc7.png",@"gc8.png"];
NSMutableArray *rSecond=[[NSMutableArray alloc]initWithCapacity:0];
for (int i=0; i<rSeconds.count; i++) {
UIImage*images=[UIImage imageNamed:[rSeconds objectAtIndex:i]];
UIImage *imagenew=[self OriginImage:images scaleToSize:CGSizeMake(45, 45)];
[rSecond addObject:imagenew];
}
self.rSecondtAry = [rSecond copy];
[self setExtraCellLineHidden:self.squareTableCell];
}

ios-改变图片的尺寸的更多相关文章
- ios 改变图片大小缩放方法
http://www.cnblogs.com/zhangdadi/archive/2012/11/17/2774919.html http://bbs.csdn.net/topics/39089858 ...
- iOS改变图片尺寸
- (UIImage *)originImage:(UIImage *)image scaleToSize:(CGSize)size { UIGraphicsBeginImageContext(siz ...
- 批量改变图片的尺寸大小 python opencv
我目标文件夹下有一大批图片,我要把它转变为指定尺寸大小的图片,用pthon和opencv实现的. 以上为原图片. import cv2 import os # 按指定图像大小调整尺寸 def resi ...
- C#根据屏幕分辨率改变图片尺寸
最近工作中遇到一个问题,就是需要将程序文件夹中的图片根据此时电脑屏幕的分辨率来重新改变图片尺寸 以下为代码实现过程: 1.获取文件夹中的图片,此文件夹名为exe程序同目录下 //读取文件夹中文件 Di ...
- iOS 调整图片尺寸,告诉你的UI,别问我尺寸!我要最大的
如果UI问你“这个图片你要多大尺寸的?”,你该怎么回答呢? 为了不让图片因拉伸或压缩而变形或模糊,请精确告诉UI图片的比例,至于图片的分辨率,不必要要求太严,但是最低要求是要让最大的屏幕不会出现前面描 ...
- [转载] IOS 获取网络图片的大小 改变 图片色值 灰度什么的方法集合
IOS 获取网络图片的大小 改变 图片色值 灰度什么的方法集合
- iOS UIButton 图片文字上下垂直布局 解决方案
实现如图所示效果: 这是一个UIButton,需要改变image和title相对位置. 解决如下: //设置文字偏移:向下偏移图片高度+向左偏移图片宽度 (偏移量是根据[图片]大小来的,这点是关键)b ...
- IOS中图片拉伸技巧与方法总结(转载)
以下内容转载自:http://my.oschina.net/u/2340880/blog/403996 IOS中图片拉伸技巧与方法总结 一.了解几个图像拉伸的函数和方法 1.直接拉伸法 简单暴力,却是 ...
- 如何解决谷歌浏览器下jquery无法获取图片的尺寸
代码如下: $(document).ready(function(){ var img_h=$img.height(); var img_w=$img.width(); }) 以上代码在IE和火狐中没 ...
随机推荐
- 牛客-数据库SQL实战
查找最晚入职员工的所有信息 CREATE TABLE `employees` ( `emp_no` ) NOT NULL, `birth_date` date NOT NULL, `first_nam ...
- 数组toString()方法,数组常用操作
int[] arr ={1,2,3,4,5}; String arrString = Arrays.toString(arr); //输出[I@7150bd4d System.out.println( ...
- JAVA中的责任链模式(CH01)
责任链模式的关键在于每一个任务处理者都必须持有下一个任务处理者的作用 纯的责任链:纯的责任链是只能也必须只有一个任务处理者去处理这个任务, 不会出现没有处理者处理的情况,也不会出现有多个处 ...
- selenium+Java使用内容记录(全)
1.模拟键盘操作,使用enter键 2.等待几秒 3.浏览器最大化 4.获取cookie,删除cookie 5.模拟鼠标 6.selenium+java 识别验证码(数字+字母组合) 7.seleni ...
- ckeditor5 增加居中alignment
https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/installing-plugins.html 克隆下来 gi ...
- MySQL 5.6容器使用自定义配置文件的权限问题
提出问题: 在使用Rancher2.0.2部署一个mysql deployment时,我们会发现,如果只设置/var/lib/mysql数据目录时,mysql容器(pod)能够正常启动,一旦数据目录和 ...
- js在线富文本插件的考虑
使用之前需要考虑的点: 1需要插件,是否需要很多的插件,还是说简单的那些功能就行了. 2界面考虑,看你喜欢那个界面了. 3图片是否需要上传图片服务器. 4文档如果为英文是否会影响开发. 5支持浏览器类 ...
- 来自师兄的Django2.0笔记摘录
翻看一本书,觉得对于Django的日志处理.权限处理包括Django-guardian还没学清楚,然后书上关于mysql深入学习.elasticsearch.redis.celery分布式都没学过. ...
- 机器学习 之梯度提升树GBDT
目录 1.基本知识点简介 2.梯度提升树GBDT算法 2.1 思路和原理 2.2 梯度代替残差建立CART回归树 1.基本知识点简介 在集成学习的Boosting提升算法中,有两大家族:第一是AdaB ...
- Highcharts 时间格式化函数
1.函数构造: Highcharts.dateFormat(String format, [Number time], [Boolean capitalize]) 2.参数列表: Strin ...