uiimage_uiimageview - CSDN
精华内容
参与话题
  • UIImage初始化图片方式

    2019-04-23 16:24:58
    UIImage初始化一张图片有几种方法?简述各自的优缺点。
 1、从资源读取,这个方法的图片是从缓存⾥面获取的, 先在缓存⾥面查,看是不是有这个图⽚, 没有的话将图⽚添加进缓存再使用. 有的话直接使用缓存⾥面的. 如果这...
        

    UIImage初始化一张图片有几种方法?简述各自的优缺点。


    1、从资源读取,这个方法的图片是从缓存⾥面获取的, 先在缓存⾥面查,看是不是有这个图⽚, 没有的话将图⽚添加进缓存再使用. 有的话直接使用缓存⾥面的. 如果这张图⽚用的次数比较多的话, 建议使用这种⽅式. 缺点是效率低下.

    UIImage *image = [UIImage imageNamed:@”1.png”];

    2 .从⼿机本地读取, 比较第一种方式, 这个是直接加载图片的. 所以建议在图片使用率低的图片时使用这个方法.
    //读取本地图⽚非resource

    NSString *aPath3=[NSString stringWithFormat:@"%@/Documents/
    %@.jpg",NSHomeDirectory(),@"test"];

    [UIImage imageWithContentsOfFile:aPath3]

    展开全文
  • UIImage

    2013-12-07 10:26:39
    UIImage即图片,创建方法主要有4种: 1、imageNamed (实例方法) UIImage * image = [UIImage imageNamed:@"sample"]; 加载流程如下: a.系统回去检查系统缓存中是否存在该名字的图像,如果存在则直接返回。 ...

    UIImage即图片,创建方法主要有4种:

    1、imageNamed (实例方法)

    UIImage * image = [UIImage imageNamed:@"sample"];

    加载流程如下:

    a.系统回去检查系统缓存中是否存在该名字的图像,如果存在则直接返回。

      b. 如果系统缓存中不存在该名字的图像,则会先加载到缓存中,在返回该对象。

    观察上面的操作我们发现系统会缓存我们使用imageNamed:方法加载的图像时候,系统会自动帮我们缓存。这种机制适合于那种频繁用到界面贴图累的加载,但如果我们需要短时间内频繁的加载一些一次性的图像的话,最好不要使用这种方法。

    2、imageWithContentsOfFile  (类方法)

    UIImage * imageA = [UIImage imageWithContentsOfFile:@"path"];

    3、initWithContentsOfFile

    UIImage * imageB = [[UIImage alloc]initWithContentsOfFile:@"path"];

    这两个方法跟前一个方法一样都是完成从文件加载图像的功能。但是不会经过系统缓存,直接从文件系统中加载并返回。

    顺便提一下,当收到内存警告的时候,系统可能会将UIImage内部的存储图像的内存释放,下一次需要绘制的时候会重新去加载。

    4、imageWithCGImage

    该方法使用一个CGImageRef创建UIImage,在创建时还可以指定方法倍数以及旋转方向。当scale设置为1的时候,新创建的图像将和原图像尺寸一摸一样,而orientaion则可以指定新的图像的绘制方向。

    UIImage的常用属性:

    1、imageOrientation 控制UIImage的旋转方向

    typedef NS_ENUM(NSInteger, UIImageOrientation) {
        UIImageOrientationUp,            // default orientation    
        UIImageOrientationDown,          // 180 deg rotation       
        UIImageOrientationLeft,          // 90 deg CCW          (编程发现官方文档中,left和right图像标反了,此处更正过来)
        UIImageOrientationRight,         // 90 deg CW         
        UIImageOrientationUpMirrored,    // as above but image mirrored along other axis. horizontal flip   
        UIImageOrientationDownMirrored,  // horizontal flip                             
        UIImageOrientationLeftMirrored,  // vertical flip                              
        UIImageOrientationRightMirrored, // vertical flip                              
    };
     默认的方向是UIImageOrientationUp,这8种方向对应的绘制方如上面所示。我们在日常使用中经常会碰到把iPhone相册中的照片导入到windows中,发现方向不对的问题就是与这个属性有关,因为导出照片的时候,写exif中的方向信息时候没有考虑该方向的原因。

    2、size 图像的尺寸

    3、scale 图像的比例

    4、CGImage\CIImage

    5、images

    如果有动画的图片,保存了所有的图片

    6、duration




    展开全文
  • 关于UIImage

    2019-05-13 15:56:50
    IOS中对图片的处理用到UIImage 类。 UIImage 继承于NSObject 下面介绍一下UIImage中的方法 首先是我们最常用的 通过图片的文件名来获取这个图片 + (UIImage *)imageNamed:(NSString *)name //要注意的是这个...

    IOS中对图片的处理用到 UIImage 类。

    UIImage 继承于NSObject

    下面介绍一下UIImage中的方法

    首先是我们最常用的

    通过图片的文件名来获取这个图片

    + (UIImage *)imageNamed:(NSString *)name

    //要注意的是这个方法适用于已经导入到工程中的图片

    创建新图片

    1、+ (UIImage *)imageWithContentsOfFile:(NSString *)path

    //通过文件加载指定路径下的文件内容获得新图片

    2、+ (UIImage *)imageWithData:(NSData *)data

    //通过一个NSData对象来获得图片

    3、+ (UIImage *)imageWithData:(NSData *)data scale:(CGFloat)scale

    //同上,只是再加上一个图片大小比例,用来改变图片的大小

    4、+ (UIImage *)imageWithCGImage:(CGImageRef)cgImage

    //使用Quartz 2D对象创建UIImage

    5、+ (UIImage *)imageWithCGImage:(CGImageRef)imageRef scale:(CGFloat)scale orientation:(UIImageOrientation)orientation

    //制定图片的比例和方向,其中方向是个枚举类。

    6、+ (UIImage *)imageWithCIImage:(CIImage *)ciImage

    //用一个Core Image 对象创建图像

    7、+ (UIImage *)imageWithCIImage:(CIImage *)ciImage scale:(CGFloat)scale orientation:(UIImageOrientation)orientation

    //再加上比例和图片方向

    8、- (UIImage *)imageWithAlignmentRectInsets:(UIEdgeInsets)alignmentInsets

    //返回指定矩形区域内的图像

    9、+ (UIImage *)animatedImageNamed:(NSString *)name duration:(NSTimeInterval)duration

    //创建一个动态图片,动态图片持续的时间为duration

    10、+ (UIImage *)animatedImageWithImages:(NSArray *)images duration:(NSTimeInterval)duration

    //用一组图片创建一个动态图片,动态持续时间duration

    11、+ (UIImage *)animatedResizableImageNamed:(NSString *)name capInsets:(UIEdgeInsets)capInsets duration:(NSTimeInterval)duration

    //创建一个在可变大小的图片上指定矩形区域内的动态图片

    12、+ (UIImage *)animatedResizableImageNamed:(NSString *)name capInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode duration:(NSTimeInterval)duration

    //同上,只是多了一个图片变化的方式,具体来说就是平铺或者拉伸

    13、- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets

    //用制定矩形区域创建图像

    14、- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode

    //同上,指定图片变化方式

    初始化图片

    方法的作用在从上面的一些方法中都能找到原型,这里就不一一注释了

    1、– initWithContentsOfFile: //从文件加载图片

    2、– initWithData: //用NSData对象初始化图片

    3、– initWithData:scale: //用NSData对象,指定的比例,初始化图片

    4、– initWithCGImage:

    5、– initWithCGImage:scale:orientation:

    6、– initWithCIImage:

    7、– initWithCIImage:scale:orientation:

    绘画图片

    1、– drawAtPoint:

    //在指定的点开始绘画图片,这个点就是图片的做上角顶点

    2、- (void)drawAtPoint:(CGPoint)point blendMode:(CGBlendMode)blendMode alpha:(CGFloat)alpha

    //在指定的点绘制整个图片,并使用自定义图片复合模式,并设置透明度

    3、– drawInRect:

    //在指定区域内绘制图片,可根据需要缩放图片

    4、– drawInRect:blendMode:alpha:

    //参照上面第二条

    5、– drawAsPatternInRect:

    //在指定区域内,平铺图片

    image的属性

    imageOrientation //图片的方向

    size //图片的大小size

    scale //图片的比例

    resizingMode //图片变化方式

    CGImage //潜在的Quartz image

    CIImage //潜在的Core Image

    images //返回一个由图片组成的数组,针对于由一组图片生成的动态图片

    duration //返回动态图片持续的时间(即动态图片播放一遍的时间)

    capInsets //图片上选定的区域

    alignmentRectInsets //图片平铺的区域



    转自:https://www.jianshu.com/p/7c5d3d8c2e2e

    展开全文
  • UIImageView以及动画

    2015-09-04 10:12:29
    {  CGSize size = [UIScreen mainScreen].bounds.size;    //演示UIImageView的使用, 主要显示图像(png,jpeg)  //UIImageView 基本使用  UIImageView *back = [...alloc] initWithFrame:self.view.

    CGSize size = [UIScreen mainScreen].bounds.size;

        

        //演示UIImageView的使用, 主要显示图像(png,jpeg)

        //<1>UIImageView 基本使用

        UIImageView *back = [[UIImageView alloc] initWithFrame:self.view.bounds];

        //注意细节:

        //不能显示gif, 使用第三方库显示

        //png可以省略后缀名, jpg一定需要加后缀名

        back.image = [UIImage imageNamed:@"back2.jpg"];

        //  imageNamed图片做缓存, 如果图片太大

        //back.image = [UIImage alloc] initWithData:<#(NSData *)#>;

        NSLog(@"w=%f h=%f",back.image.size.width,back.image.size.height);

        [self.view addSubview:back];

        

        //<2>UIImageView 如何实现动画

        _bird = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 120, 96)];

        _bird.image = [UIImage imageNamed:@"DOVE 1.png"];

        [self.view addSubview:_bird];

        

        //设置动画

        //bird.animationDuration

        //bird.animationImages

        //bird.animationRepeatCount

        NSMutableArray *images = [[NSMutableArray alloc] init];

        for (int i=1; i<=18; i++) {

            NSString *name = [NSString stringWithFormat:@"DOVE %d.png",i];

            UIImage *image = [UIImage imageNamed:name];

            [images addObject:image];

        }

        _bird.animationImages = images;

        

        //控制动画速度

        _bird.animationDuration = 18 * 1.0/30;

        [_bird startAnimating];

        

        //定时器, 很多操作每隔一段时间执行

        //参数1: 每次执行的间隔

        //参数23: 指定一个每次执行方法

        //参数4: 传入用户数据

        //参数5: 是否重复

        [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(dealLoop:) userInfo:nil repeats:YES];

        

    }

    -(void)dealLoop:(NSTimer *)t

    {

        double xSpeed = 10;

        CGPoint center = _bird.center;

        center.x += xSpeed;

        if(center.x  > self.view.frame.size.width + _bird.frame.size.width/2)

        {

            center.x = - _bird.frame.size.width / 2;

        }

        _bird.center = center;

        

        //语法有问题;

        //_bird.center.x += 10;

        

        //让敌机再次出现

        

    }

    展开全文
  • Swift UIImageView 构造方法

    千次阅读 2015-09-09 11:08:24
    UIImageView有三个构造方法 init(frame: CGRect)  我们可能发现UIImageView并没有这个构造方法,其实他是继承父类UIView的方法 //1,init(frame:CGRect) let imgV=UIImageView(frame: CGRectMake(20, 50, 100...
  • 使用UIImageView制作动画

    千次阅读 2015-01-06 16:48:30
    第一步在storyboard中创建一个UIIimageView对象. @property (strong, nonatomic) IBOutlet UIImageView *tomImageView; 第二步创建一个图片数组. ... //创建图片数组 ... NSMutableArray *tomImages = ...
  • UIImageView处理图片大小问题

    万次阅读 2016-01-29 17:58:49
    第一种方法: UIImageView *myImageView = [[ UIImageView alloc] initWithImage: [UIImage imageNamed: @”demo”]]; 用该方法可以显示图片原有大小。第二种方法: UIImageView *myImageView =
  • 可点击的uiimageview

    2019-07-22 09:38:00
    实现这个有很多方法,来看看我的小把戏。嘿嘿。 代码: ClickImageView.h @interface ClickImageView : UIImageView { id _target; SEL _selector; } -(void)addTarget:(id)target selector:(SEL)......
  • IOS:聊一聊UIImage几点知识

    千次阅读 2016-11-01 13:31:42
    UIImage是IOS中层级比较高的一个用来加载和绘制图像的一个类,更底层的类还有CGImage,以及IOS5.0以后新增加的CIImage。今天我们主要聊一聊UIImage的三个属性: imageOrientation, size, scale,几个初始化的方法: ...
  • 一:前言  1.0 : 图片处理中,比如对一个ImageView进行旋转,那么旋转后图片缺还是原来的样子,本文就是解决图片旋转的问题  1.0 :无demo说话不硬气,上github...  欢迎star,你的星星是我持续创作的动力 ...二
  • OC中UIImage三种创建方式

    千次阅读 2017-05-21 07:05:33
    直接使用imageNamed进行创建 1 UIImage * image = [UIImage imageNamed:@"1.jpg"]; 简单说一下这种方式的优缺点:优点:代码量少,一行代码就可以搞定。当程序中多次加载这张图片时,系统会指向同一块内存,这样可以...
  • CGImageRef与UIImage互转

    万次阅读 2012-06-05 15:59:34
    CGImageRef cgRef= CGBitmapContextCreateImage(context...UIImage* image = [UIImage imageWithCGImage: cgRef]; UIImage转换成CGImageRef UIImage *uiImage=[UIImage imageNamed:@"abc.png"]; CGImageRef cgRef
  • Swift之CIImage、CGImage、UIImage之间的相互转换 iOS开发中对于Image的对象有三种形式CIImage、CGImage、UIImage,有时候我们通常需要三者之间进行转换,下面简单介绍一下: CIImage转UIImage// CIImage转UIImage...
  • iOS把UIImage对象保存到本地沙盒

    万次阅读 2017-07-20 17:01:52
    - (void)saveImage:(UIImage *)image { NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES); NSString *filePath = [[paths objectAtIndex:
  • PNG图片转UIImagelet image = UIImage(named :"PNG图片名.png")UIImage转Datalet data = UIImagePNGRepresentation( image )Data转UIImagelet image = UIImage(data : data)
  • UIImage修改图片颜色

    万次阅读 2016-03-03 14:30:42
    首先,我们放个正常的图片.这个图片应该是从百度地图sdk里取得 -(void)build { self.view.backgroundColor = [UIColor blackColor]; MyButton *button = [[MyButton alloc] initWithFrame:CGRectMake(55, 55, 100,...
  • UIImage的copy方法

    千次阅读 2013-05-10 11:42:13
    UIImage没有实现copy的方法,要想copy有几种方法可以实现 1. UIImage *smallImage = [UIImage imageWithCGImage:[originalImage CGImage]]; 2. CGImageRef newCgIm = CGImageCreateCopy(picImage.CGImage); ...
  • ios 获取UIImage图片的像素尺寸

    万次阅读 2016-05-26 22:55:51
    CGFloat fixelW = CGImageGetWidth(image.CGImage); CGFloat fixelH = CGImageGetHeight(image.CGImage);
  • 使用图片属性的可访问标示符Accessibility identifier,在你的方法中设置图片 accessibility identifier,你就可以随时随地获取图片了 -(void)change ... [_imgView setImage:[UIImage imageNamed:[imgAr
  • 设置UIImage的渲染模式:UIImage.renderingMode 着色(Tint Color)是iOS7界面中的一个重大改变,你可以设置一个UIImage在渲染时是否使用当前视图的Tint Color。UIImage新增了一个只读属性:renderingMode,对应...
1 2 3 4 5 ... 20
收藏数 86,504
精华内容 34,601
关键字:

uiimage