iOS:图片拉伸不变形技巧

方法:

假设图片为60*24

CGFloat top = image.height*0.5-1; // 顶端盖高度
CGFloat bottom = top ; // 底端盖高度
CGFloat left = image.weight*0.5-1; // 左端盖宽度
CGFloat right = left; // 右端盖宽度
UIEdgeInsets insets = UIEdgeInsetsMake(top, left, bottom, right);
// 指定为拉伸模式,伸缩后重新赋值
image = [image resizableImageWithCapInsets:insets resizingMode:UIImageResizingModeStretch];

图片整个高度-顶端盖高度-底端盖高度=图片中间要拉伸的部分.高度

图片整个宽度-左端盖宽度-右端盖宽度=图片中间要拉伸的部分.宽度

图片要拉伸,就拉伸最中间的2*2,这样可以确保图片不变形

UIImageResizingMode参数,用来指定拉伸的模式:

  • UIImageResizingModeStretch:拉伸模式,通过拉伸UIEdgeInsets指定的矩形区域来填充图片
  • UIImageResizingModeTile:平铺模式,通过重复显示UIEdgeInsets指定的矩形区域来填充图片
时间: 2024-11-08 19:03:33

iOS:图片拉伸不变形技巧的相关文章

IOS图片拉伸技巧

IOS 图片拉伸技巧 对于有些图标等按钮 在美工设计的按钮下可以通过拉伸效果处理所需效果,最熟悉的莫过于微信聊天的 椭圆背景,也是通过这个这个原理进行背景图片.  如对该图片拉伸,如何操作? 首先找到要拉伸的部分,很明显 两侧椭圆是不变 要拉伸的是中间部分,如何指定中间部位,先看下图 指定这4个宽度后 会形成黑色模块 直白点就是 这块内容就是拉伸后中间那块不断填充的部分 具体代码: 1 UIImage* img=[UIImage imageNamed:@"2.png"];//原图2 U

ios图片拉伸两种方法

ios图片拉伸两种方法 UIImage *image = [UIImage imageNamed:@"qq"]; 第一种: // 左端盖宽度 NSInteger leftCapWidth = image.size.width * 0.5f; // 顶端盖高度 NSInteger topCapHeight = image.size.height * 0.5f; // 重新赋值 image = [image stretchableImageWithLeftCapWidth:leftCapW

ios图片拉伸

 button.png,尺寸为:24x60 现在我们把它用作为按钮背景,按钮尺寸是150x50: // 得到view的尺寸 CGSize viewSize = self.view.bounds.size; // 初始化按钮 UIButton *button = [[UIButton alloc] init]; // 设置尺寸 button.bounds = CGRectMake(0, 0, 150, 50); // 设置位置 button.center = CGPointMake(viewSiz

iOS 图片拉伸 resizableImageWithCapInsets

UIImage *image =  [[UIImage imageNamed:@"test.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 10, 0, 10)]; 其中Insets这个参数的格式是(top,left,bottom,right),从上.左.下.右分别在图片上画了一道线,这样就给一个图片加了一个框. 只有在框里面的部分才会被拉伸,而框外面的部分则不会改变. 4个参数是上边界,左边界,下边界,右边界距离,也可以为负

ios图片拉伸方法(5.0-6.0)

一.iOS 5.0 在iOS 5.0中,UIImage又有一个新方法可以处理图片的拉伸问题 - (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets 这个方法只接收一个UIEdgeInsets类型的参数,可以通过设置UIEdgeInsets的left.right.top.bottom来分别指定左端盖宽度.右端盖宽度.顶端盖高度.底端盖高度 1 CGFloat top = 25; // 顶端盖高度 2 CGFloat bott

iOS图片拉伸技巧(转)

本文目录 一.iOS 5.0之前 二.iOS 5.0 三.iOS 6.0 纵观移动市场,一款移动app,要想长期在移动市场立足,最起码要包含以下几个要素:实用的功能.极强的用户体验.华丽简洁的外观.华丽外观的背后,少不了美工的辛苦设计,但如果开发人员不懂得怎么合理展示这些设计好的图片,将会糟蹋了这些设计,功亏一篑. 比如下面张图片,本来是设计来做按钮背景的: button.png,尺寸为:24x60 现在我们把它用作为按钮背景,按钮尺寸是150x50: 1 - (void)viewDidLoad

UI基础篇—iOS图片拉伸技巧

比如下面张图片,本来是设计来做按钮背景的:  button.png,尺寸为:24x60 现在我们把它用作为按钮背景,按钮尺寸是150x50: 1 - (void)viewDidLoad 2 { 3 [super viewDidLoad]; 4 // 得到view的尺寸 5 CGSize viewSize = self.view.bounds.size; 6 7 // 初始化按钮 8 UIButton *button = [[UIButton alloc] init]; 9 // 设置尺寸 10

(转)iOS图片拉伸技巧

( 原文博客地址:  http://blog.csdn.net/q199109106q/article/details/8615661) 纵观移动市场,一款移动app,要想长期在移动市场立足,最起码要包含以下几个要素:实用的功能.极强的用户体验.华丽简洁的外观.华丽外观的背后,少不了美工的辛苦设计,但如果开发人员不懂得怎么合理展示这些设计好的图片,将会糟蹋了这些设计,功亏一篑. 比如下面张图片,本来是设计来做按钮背景的:  button.png,尺寸为:24x60 现在我们把它用作为按钮背景,按

IOS 图片拉伸技巧

对于有些图标等按钮 在美工设计的按钮下可以通过拉伸效果处理所需效果,最熟悉的莫过于微信聊天的 椭圆背景,也是通过这个这个原理进行背景图片.  如对该图片拉伸,如何操作? 首先找到要拉伸的部分,很明显 两侧椭圆是不变 要拉伸的是中间部分,如何指定中间部位,先看下图 指定这4个宽度后 会形成黑色模块 直白点就是 这块内容就是拉伸后中间那块不断填充的部分 具体代码: 1 UIImage* img=[UIImage imageNamed:@"2.png"];//原图 2 UIEdgeInset