zoukankan      html  css  js  c++  java
  • ios25---图片拉伸

    控制器:

    //
    //  ViewController.m
    //  12-图片的拉伸问题
    //
    //  Created by xiaomage on 15/12/30.
    //  Copyright © 2015年 小码哥. All rights reserved.
    //
    
    #import "ViewController.h"
    #import "UIImage+XMGExtention.h"
    
    @interface ViewController ()
    @property (weak, nonatomic) IBOutlet UIButton *button;
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        // 1.1 创建UIImage对象
        UIImage *image = [UIImage resizableImageWithLocalImageName:@"car"];//扩展了系统类的方法
        
        //UIImage *image = [UIImage imageNamed:@"car"];
        
        // 1.2 拿到image的尺寸
        /*
        CGFloat imageWidth = image.size.width;
        CGFloat imageHeight = image.size.height;
        */
        
        // 1.3 返回一张受保护而且拉伸的图片 --->CapInsets:哪些地方要保护:上面保护图片高度一半,左边保护图片宽度一半,右边保护宽度一半减一,下面保护高度一半减一。只有中间1*1的区域拉伸。
        
        // 方式一
        /*
        UIImage *resizableImage = [image resizableImageWithCapInsets:UIEdgeInsetsMake(imageHeight * 0.5, imageWidth * 0.5, imageHeight * 0.5 -1, imageWidth * 0.5 - 1)];
    
        UIImageResizingModeTile, 平铺
        UIImageResizingModeStretch, 拉伸(伸缩)
        
        UIImage *resizableImage = [image resizableImageWithCapInsets:UIEdgeInsetsMake(imageHeight * 0.5, imageWidth * 0.5, imageHeight * 0.5 -1, imageWidth * 0.5 - 1) resizingMode:UIImageResizingModeTile];
        */
        
        // 方式二
        /*
        // 右边需要保护的区域 = 图片的width - leftCapWidth - 1
        // bottom cap =  height - topCapHeight - 1
        UIImage *resizableImage = [image stretchableImageWithLeftCapWidth:imageWidth * 0.5 topCapHeight:imageHeight * 0.5];
        */
        
        //2.把图片设置到按钮上
        [self.button setBackgroundImage:image forState:UIControlStateNormal];
         
    }
    
    @end

    UIImage的扩展,分类:

    //
    //  UIImage+XMGExtention.h
    //  12-图片的拉伸问题
    //
    
    #import <UIKit/UIKit.h>
    
    @interface UIImage (XMGExtention)  //分类
    /**
     * 返回一张受保护的图片(被拉伸的)
     */
    + (instancetype)resizableImageWithLocalImageName: (NSString *)localImageName;
    @end
    //
    //  UIImage+XMGExtention.m
    //
    
    #import "UIImage+XMGExtention.h"
    
    @implementation UIImage (XMGExtention)
    
    + (instancetype)resizableImageWithLocalImageName:(NSString *)localImageName{
       // 创建图片对象
        UIImage *image = [UIImage imageNamed:localImageName];
        
        // 获取图片的尺寸
        CGFloat imageWidth = image.size.width;
        CGFloat imageHeiht = image.size.height;
        
        // 返回一张拉伸且受保护的图片
        return [image stretchableImageWithLeftCapWidth:imageWidth * 0.5 topCapHeight:imageHeiht * 0.5 ];
    }
    @end
  • 相关阅读:
    mongodb的安装和使用
    python小笔记
    爬取猫眼TOP100电影
    python测接口
    Python数据驱动(ddt)
    Python文件读写(csv、excel)
    python爬虫入门(转:http://www.cnblogs.com/voidsky/p/5490810.html)
    python bs4的使用
    Django 中的 model 继承
    HTTP幂等性
  • 原文地址:https://www.cnblogs.com/yaowen/p/7470323.html
Copyright © 2011-2022 走看看