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像素用来拉伸,垂直方向同理。

    效果为

  • 相关阅读:
    关于sql的对称性密钥和非对称性密钥(基础)
    Thinking in life(1)
    java集合类(三)About Iterator & Vector(Stack)
    java集合类(二)List学习
    How does java technology relate to cloud computing?
    Java 集合类(一)
    Snapchat
    Oppotunity land---China
    Learn know more about big data
    About the Storage allocation
  • 原文地址:https://www.cnblogs.com/Apologize/p/4844810.html
Copyright © 2011-2022 走看看