UIImage.h

 //imageNamed:从系统缓存中加载图片,如果系统缓存中没有,会从硬盘中将图片加载到内存
    UIImage *image1 = [UIImage imageNamed:@"1.png"];
    
    //从指定图片路径加载图片,不会缓存图片对象
    image1 = [UIImage imageWithContentsOfFile:@""];
    
    //从指定图片数据加载图片,不会缓存图片对象
    image1 = [UIImage imageWithData:nil];
    
    //scale:缩小比例,图片像素 = 图片大小 * scale, scale越大,图片size越小
    NSString *path = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"jpg"];
    UIImage *temp = [UIImage imageWithData:[NSData dataWithContentsOfFile:path] scale:2];
    
    NSLog(@"%@", NSStringFromCGSize(temp.size));

   //animatedImageNamed:加载一系列图片,图片的名字以基本图片名+数字的形式保存;
    UIImage *aniImage = [UIImage animatedImageNamed:@"feed_vip7_golden_anim_" duration:1];
    
    //capInsets:图片可拉伸区域
    [UIImage animatedResizableImageNamed:@"feed_vip7_golden_anim_" capInsets:UIEdgeInsetsMake(10, 10, 10, 10) duration:1];
    
    //resizingMode:拉伸模式,UIImageResizingModeTile:平铺,UIImageResizingModeStretch:拉伸
    [UIImage animatedResizableImageNamed:@"" capInsets:UIEdgeInsetsMake(10, 10, 10, 10) resizingMode:UIImageResizingModeTile duration:1];
    
    NSMutableArray *imageArray = [NSMutableArray array];
    for (NSInteger i = 0; i < 7; i++) {
        NSString *name = [NSString stringWithFormat:@"common_icon_membership_level%[email protected]", i+1];
        UIImage *image = [UIImage imageNamed:name];
        [imageArray addObject:image];
    }
    
    //animatedImageWithImages:加载UIImage数组
    UIImage *aniImage1 = [UIImage animatedImageWithImages:imageArray duration:1];
    
    //获取动态图片所有的图片,对应非动态图片,返回nil
    aniImage1.images;
    //获取动态图片的动画时长,对应非动态图片,返回0
    aniImage1.duration;

    //将图片绘制在当前图形上下文中,该方法必须在拥有图形上下文的函数中使用,比如UIView的drawRect方法
    [image drawAtPoint:CGPointMake(0, 0)];
    
    //blendMode:渲染模式
    [image drawAtPoint:CGPointMake(0, 0) blendMode:kCGBlendModeXOR alpha:1];
    
    //在指定矩形内绘图,根据矩形大小缩放图片
    [image drawInRect:CGRectMake(0, 0, 100, 100)];
    [image drawInRect:CGRectMake(0, 0, 100, 100) blendMode:kCGBlendModeXOR alpha:1];
    
    //在指定的矩形区域内平铺图片
    [image drawAsPatternInRect:self.bounds];

    //设置图片可拉伸区域
    UIImage *newImage = [image resizableImageWithCapInsets:UIEdgeInsetsMake(99, 99, 99, 99)];
//    resizingMode:UIImageResizingModeTile:平铺,UIImageResizingModeStretch:拉伸
    UIImage *newImage = [image resizableImageWithCapInsets:UIEdgeInsetsMake(99, 99, 99, 99) resizingMode:UIImageResizingModeStretch];
    newImage.capInsets; //拉伸区域
    newImage.resizingMode; //拉伸模式

        //    imageWithAlignmentRectInsets:设置图片的对齐区域,会增加其父控件的frame,前题是父控件必须使用自动布局
    UIImage *newImage = [image imageWithAlignmentRectInsets:UIEdgeInsetsMake(0, 0, 200, 200)];
    
    _imageView.image = newImage;    //{{284, 412}, {400, 400}}
    _imageView.image = image;   //{{284, 412}, {200, 200}}

   //将图片转换成PNG数据格式的二进制数据
    NSData *data = UIImagePNGRepresentation(image);
    //将图片转换成JPEG数据格式的二进制数据,compressionQuality:压缩率,0-最大压缩,1-最小压缩
    data = UIImageJPEGRepresentation(image, 0.5);

猜你喜欢

转载自my.oschina.net/mexiaobai1315/blog/1809079