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

    图片的拉伸。如原图为圆角,

    若直接作为button的背景图片,那么效果会是这样。

    CGFloat btnX = 80;
    CGFloat btnY = 150;
    CGFloat btnW = 100;
    CGFloat btnH = 20;
        
    UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
    btn.frame = CGRectMake(btnX, btnY, btnW, btnH);
    UIImage *imageNormal = [UIImage imageNamed:@"audio_button_nomal"];
    [btn setBackgroundImage:imageNormal forState:UIControlStateNormal];

    此时可以用
    - (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:
    该函数是用来创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数,一个是左边不拉伸区域的宽度,另一个是上面不拉伸的高度。
    可拉伸的范围是距离leftCapWidth后的1竖排像素,距离topCapHeight后的1横排像素。
    如指定参数为10,5。那么表示图片左边10个像素,上边5个像素,不会被拉伸。x坐标为11的一个像素会被横向复制,y坐标为6的一个像素会被纵向复制
    对于该图片,可以用

    imageNormal = [imageNormal stretchableImageWithLeftCapWidth:floorf(imageNormal.size.width/2) topCapHeight:floorf(imageNormal.size.height/2)];
    //floorf(x)表示取不大于x的最大整数
    //代码含义为水平方向将图片中间的1像素用来拉伸,垂直方向同理。

    效果为

  • 相关阅读:
    for...in 循环对象原型链问题
    移动端表单禁用软键盘
    将一个普通数组映射为对象数组
    npm install命令详解
    Elasticsearch High Level REST Client
    Guava: Google Core Libraries for Java
    Java Interview Programming Questions
    2017 OWASP TOP 10
    17 Popular Java Frameworks in 2018
    10 Popular PHP frameworks in 2019
  • 原文地址:https://www.cnblogs.com/Apologize/p/4844810.html
Copyright © 2011-2022 走看看