【学习ios之路:UI系列】修改图片的尺寸大小操作

1.在添加图片操作时,通过UIImage对象进行添加图片操作

1.[UIImage imageName:@"1.png"]

2.[UIImage imageWithContentsOfFile:@"1.png"]

注:ImageNamed和imageWithContentsOfFile的区别

imageNamed加载图片并缓存,并且把image缓存到内存里面,当图片较少并且会频繁的使用时用imageNamed;

imageWithContentsOfFile是只显示图片,但不加到内存中。 所以加载大量图片的时候用imageWithContentsOfFile比较好,内存不会变大。

在添加图片操作时,先对图片大小进行修改,操作如下:

注:这里是UIImage的category扩展类

①UIImage+Scale.h声明文件,传入一个CGSize参数,即图片的宽度和高度

<span style="font-size:14px;">- (UIImage *)scaleToSize:(CGSize)size;</span>

②.m文件,实现文件

<span style="font-size:14px;">  //指定缩减的大小
- (UIImage *)scaleToSize:(CGSize)size {
    // 创建一个bitmap的context
    // 并把它设置成为当前正在使用的context
    UIGraphicsBeginImageContext(size);
    // 绘制改变大小的图片
    [self drawInRect:CGRectMake(0,0, size.width, size.height)];
    // 从当前context中创建一个改变大小后的图片
    UIImage * scaledImage = UIGraphicsGetImageFromCurrentImageContext();
    // 使当前的context出堆栈
    UIGraphicsEndImageContext();
    //返回新的改变大小后的图片
    return scaledImage;
}</span>

方法调用,如下.

<span style="font-size:14px;">UIImage *image = [UIImage imageWithContentsOfFile:@"1.png"];
image = [image scaleToSize:CGSizeMake(30, 30)];
UIImageView *imgeView = [[UIImageView alloc] initWithImage:image];</span>
时间: 2024-10-10 07:57:00

【学习ios之路:UI系列】修改图片的尺寸大小操作的相关文章

【学习ios之路:UI系列】获取通过UIImagePackerController获取的系统相册图片的名称信息

通过IUImagePickerController方法获取系统的相册,而想要得到从系统相册得到的图片的信息需要以下几步: 1:获得从UIImagePicker选择的照片的Assert: 2:得到Assert的ALAssertRepresentation: 3:ALAssertRepresentation有个filename的属性 代码具体如下: 该方法是UIImagePickerController中的代理中的方法 - (void)imagePickerController:(UIImagePi

【学习ios之路:UI系列】实现将图片保存到IOS自带的Photo Album中

具体功能: 在一个视图中有一个UIImageView,当长按UIImageView时,将UIImageView中的UIImage所代表的图片保存到PhotoAlbum中. 实现: 代码如下:self.imageView是定义的UIImageView视图属性 //长按效果 - (void)longPanGesture { UILongPressGestureRecognizer *longGesture = [[UILongPressGestureRecognizer alloc] initWit

【学习ios之路:UI系列】点击更换头像实现从相册读取照片和拍照两种功能

功能如下: 1.点击头像,提示选择更换头像方式①相册 ②照相. 2.点击相册,实现通过读取系统相册,获取图片进行替换. 3.点击照相,通过摄像头照相,进行替换照片. 4.如果摄像头,弹出框警告. 代码如下: 1.通过UIActionSheet对象实现提示功能 //创建对象 UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle: @"提示" delegate:self cancelButtonTitle:@&q

【学习ios之路:UI系列】iOS沙盒机制,文件读取,归档与反归档

1.IOS中的沙盒机制 IOS中的沙盒机制是一种安全体系,它规定了应用程序只能在为该应用创建的文件夹内读取文件,不可以访问其他地方的内容.所有的非代码文件都保存在这个地方,比如图片.声音.属性列表和文本文件等. 特点: 1.每个应用程序都在自己的沙盒内 2.不能随意跨越自己的沙盒去访问别的应用程序沙盒的内容 3.应用程序向外请求或接收数据都需要经过权限认证 每个沙盒含有3个文件夹:Documents, Library 和 tmp.Library包含Caches.Preferences目录.如下图

【学习ios之路:UI系列】实现轮播图效果(UIImageView,UIScrollView,UIPageControl,NSTimer相结合)

实现效果,在不点击的情况下,自定滚动,点击时,停止.如下图 部分代码如下: //调用NSTimer方法,自定计时 - (void)autoScroll { self.timer = [NSTimer scheduledTimerWithTimeInterval:1.5 target:self  selector:@selector(scrollToRight) userInfo:nil repeats:YES]; } //实现触发方法 - (void)scrollToRight { [UIVie

【学习ios之路:UI系列】UITabBarController , UIToorBar

1. UITabBarController(标签视图控制器),用来管理具有并列关系的视图控制器,多个界面同时存在. UITableBarController 和UINavigationController 类似, UITabBarController 也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型的例子就是QQ .微信等应?.效果如下图: ①使用UITabBarController步骤如下: (1) 初始化UITabBarController (2) 设置UIWindow的rootV

【学习ios之路:UI系列】UIProgressView

实现类似读取数据进度条效果 代码如下: ①创建UIProgressView对象 1)定义属性 { NSTimer *_proTimer;//计时 } @property (nonatomic, retain) UIProgressView *proView; //显示进度信息 @property (nonatomic, retain) UILabel *proLabel; @property (nonatomic, assign) float proValue;//保存进度值 //创建控件UIP

【学习ios之路:UI系列】绘图(drawRect)

实现代码如下: ①在自定义视图中定义3个属性 //记录线条的路径 @property (nonatomic, retain) NSMutableArray *paths; //设置绘图过程中线条的颜色 @property (nonatomic, retain) UIColor *pathColor; @property (nonatomic, assign) CGFloat pathWidth; //撤销功能 - (void)undo; //清除功能 - (void)clear; ②实现效果,需

【学习ios之路:UI系列】ios中常见的几种控件.(UISlider,UISwitch,UIStepper,UISegmentedControl)

一.滑块控件(UISlider)  效果如下 注:系统原来效果如下 具体功能运用: ①创建滑块控件(UISlider),设置控件大小,并添加到window视图上,后释放 UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(20, 30, 280, 100)]; [self.window addSubview:slider];  [slider release]; ②设置最大值,最小值,以及开始时滑动条所在的位置 //设置最大