导航:首页 > 图片大全 > ios如何实现图片拉伸

ios如何实现图片拉伸

发布时间:2025-07-31 09:19:10

Ⅰ 关于图片拉伸的几种方法总结

1.ios4提供的方法:

- (UIImage *):(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight

的使用

这个函数是UIImage的一个实例函数,它的功能是创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数,第一个是左边不拉伸区域的宽度,第二个参数是上面不拉伸的高度。

根据设置的宽度和高度,将接下来的一个像素进行左右扩展和上下拉伸。

注意:可拉伸的范围都是距离leftCapWidth后的1竖排像素,和距离topCapHeight后的1横排像素。

参数的意义是,如果参数指定10,5。那么,图片左边10个像素,上边5个像素。不会被拉伸,x坐标为11和一个像素会被横向复制,y坐标为6的一个像素会被纵向复制。注意:只是对一个像素进行复制到一定宽度。而图像后面的剩余像素也不会被拉伸。

imageView.image= [[UIImage imageNamed:@"image"] :15 topCapHeight:15];

2.ios5提供的方法

- (UIImage *)resizableImageCapInsets:(UIEdgeInsets)Insets

其中Insets这个参数的格式是(top,left,bottom,right),从上、左、下、右分别在图片上画了一道线,这样就给一个图片指定了一个矩形区域。只有在框里面的部分才会被拉伸,而框外面的部分则保持不变。比如(20,5,10,5),意思是下图矩形里面的部分可以被拉伸,而其余部分不变。

3.ios6提供的方法:

- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode

关于Insets参数,与ios5是相同的,不同的是其后增加了一个拉伸的模式,ios6.0的版本提供了UIImageResizingModeTile和 UIImageResizingModeStretch两种模式,从名字就可以看出,是平铺模式和拉伸模式。平铺就是复制你Insets指定的矩形区域块来填充你所指定的图片区域,而拉伸就是通过拉伸你Insets指定的矩形区域块来填充你 所需的图片区域。我想,相较4.0的进步你也看出来了,是明显的吧,相较于以前的,图片的resize由一个点变成了一个矩形块,这样你的所指定块的渐变效果,也是可以呈现出来的。

只是,如果你需要兼容4.0的机器的话,那么还是需用老的函数来完成对图片的resize操作的。

Ⅱ iOS 截取、剪裁、压缩和拉伸图片

在 iOS 开发过程中,对图片的处理不仅仅局限于显示、渲染样式,还常常遇到对view指定区域截图,以及对图片的压缩、拉伸等操作。下面我们介绍一下类似的操作过程:

注:通过 (CGSize size, BOOL opaque, CGFloat scale) 和 drawViewHierarchyInRect 的配合来截取并渲染出来的图片位置和大小,是由前者的size和后者的rect共同决定的。 即,画布相当于父view,其尺寸为size,截图绘制到画布中的位置和尺寸为rect。

想试一试的同学,可以创建一个demo,取不同的size和rect值,来观察画布和截图的位置。也可以试着将画布和截图完全吻合,即将截图完整的渲染出来,这并不难。

裁剪图片就是对当前的图片按照指定的大小范围生成一个新的图片。需要注意的是如果当前显示图片是2倍图或者3倍图,要么可能尺寸不对,要么截出来的图片很模糊,因此,需要在截图前调整rect值。

注:UIImageJPEGRepresentation 两个参数:图片引用 和压缩系数,而 UIImagePNGRepresentation 只需图片引用作为参数。在实际使用过程中,UIImagePNGRepresentation(UIImage* image) 一般要比UIImageJPEGRepresentation(UIImage* image, 1.0) 返回的图片数据量大,在处理图片时,若对图片质量要求不高,则建议使用UIImageJPEGRepresentation,根据自己的实际使用场景设置压缩系数,进一步降低图片数据量大小。

在 >= iOS 5.0 时,UIImage的新方法可以处理图片的拉伸问题:

使用过程:

在 >= iOS 6.0 时,UIImage的新方法可以处理图片的拉伸问题:

使用过程:



参考文章:
https://www.jianshu.com/p/164b8373d17e
https://blog.csdn.net/q199109106q/article/details/8615661

阅读全文

与ios如何实现图片拉伸相关的资料

热点内容
网吧动漫图片 浏览:528
国字脸女生刘海图片 浏览:291
15帅气男生图片生活照 浏览:57
word图片旋转透视怎么设置 浏览:456
六一女孩子化妆图片 浏览:706
军旅风格衣服图片 浏览:655
简单漂亮的感恩手抄报图片 浏览:844
可爱又漂亮的真人图片 浏览:647
穷书生男生图片 浏览:178
纹理长发烫发发型图片 浏览:151
男生图片头像搞怪卡通 浏览:496
图片复制不到word文档里 浏览:516
烫小波浪发型图片短发 浏览:289
人头像简单素描图片 浏览:771
馨宝宝图片大全可爱 浏览:11
女足赵丽娜图片高清 浏览:398
简单美甲图片红色 浏览:337
ocr修改图片中的文字 浏览:823
圆脸尖下巴适合的发型图片 浏览:747
求雪可爱图片 浏览:610