`
luckliu521
  • 浏览: 258906 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

stretchableImageWithLeftCapWidth:topCapHeight:函数用法 总结

 
阅读更多
stretchableImageWithLeftCapWidth:topCapHeight:函数用法 总结 

2011-06-28 11:49:29|  分类: iphone |字号 订阅
1、- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight

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

第一次用这个函数的时候一直搞不懂为什么只要两个参数就行,至少应该指定左上角和右下角,总共四个参数啊。后来读读文档才明白,只需要两个参数就行了。

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

附:两个聊天用的汽泡,与参数值。


15,13
21,13

2、- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight

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



调整后的图:

代码:
float capWidth = 100.0f;
float topCapWidth = 100.0f;
baseGreen = [[[UIImage imageNamed:@"green.png"]stretchableImageWithLeftCapWidth:capWidth   topCapHeight:topCapWidth] retain];



3、 stretchableImageWithLeftCapWidth:topCapHeight:创建并返回一个具有指定的值上限的新形象的对象。
- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight

参数
leftCapWidth
要使用的值上限为左侧的宽度。指定0如果你不希望的形象是横向拉伸。有关讨论如何值会影响形象,看到leftCapWidth财产。

topCapHeight
要使用的值为顶盖的宽度。指定0如果你不希望的形象是垂直拉伸。有关讨论如何值会影响形象,看到topCapHeight财产。

返回值
具有指定值上限的新形象的对象。

讨论
在缩放或图像大小,所涵盖的范畴的上限是不进行缩放或调整大小。相反,1像素宽的面积在每个方向上帽盖正是缩放或调整大小。这种技术通常用于创建可变宽度按钮,保有相同的圆角,但其中心区域的放大或缩小的需要。

使用此方法来添加值上限的图像或改变图像的现有上限的值。在这两种情况下,你获得了一新的图像和原始图像仍然无动于衷。

说白了就是对一个图像做处理,只将中间需要放大的部分进行缩放,而四个角不做拉伸,四个边只做单方向上的拉伸。
分享到:
评论

相关推荐

    iOS图像拉伸,stretchableImageWithLeftCapWidth

    总结一下,`stretchableImageWithLeftCapWidth:`是iOS开发中一个强大的工具,它帮助我们在保持图像关键部分不变形的同时,实现UI元素的灵活拉伸。合理利用这个方法,可以提高应用的界面质量,为用户提供更好的视觉...

    iOS图片拉伸技巧(iOS5.0、iOS6.0)

    在iOS 5.0之前,苹果提供了`stretchableImageWithLeftCapWidth:topCapHeight:`方法,该方法允许开发者指定图片的哪一部分(即端盖)不进行拉伸。端盖是图片边缘不受拉伸的部分,通常包括角落。例如,设置左端盖宽度...

    iOS uiimage部分截取图片

    在实际应用中,我们可能会结合这两个方法,先用`resizableImageWithCapInsets:`设置好不变区,然后根据需要使用`stretchableImageWithLeftCapWidth:`进一步指定水平方向上的不变区。这样可以实现更加精细的图像拉伸...

    iOS图片拉伸小技巧

    在iOS 5.0及更早版本中,UIImage类提供了一个名为`stretchableImageWithLeftCapWidth:topCapHeight:`的方法。这个方法允许开发者指定图片的哪一部分(即端盖)不参与拉伸。例如,如果我们指定左端盖宽度为图片宽度的...

    iOS 自定义滑动分段选择Slider

    1. 设置滑块和轨道颜色:可以使用`UIColor`的`colorWithHue:saturation:brightness:alpha:`方法创建渐变色,或者使用`UIImage`的`stretchableImageWithLeftCapWidth:topCapHeight:`方法制作可拉伸的图像。...

    使用collectionView实现图片轮播

    UIImage有`resizableImageWithCapInsets:`和`stretchableImageWithLeftCapWidth:topCapHeight:`方法可以用来拉伸图片,而`contentMode`属性则可以控制图片在UIImageView内的填充方式。 综上所述,使用...

    iOS 解决按钮背景图片拉伸问题(推荐)

    2. 使用`resizableImage(withCapInsets:)`或`stretchableImageWithLeftCapWidth:topCapHeight:`方法创建一个可拉伸的图片,指定不可拉伸的区域。 3. 将新创建的可拉伸图片设置为按钮的背景图片。 通过这样的处理,...

    ios8-photo-editing:像ios8照片应用程序一样编辑照片

    在实现这个功能时,开发者可能使用了UIImage的`resizableImageWithCapInsets:`或`stretchableImageWithLeftCapWidth:topCapHeight:`方法来创建可拉伸的图像,这样当图像被调整大小时,可以保持重要的视觉元素不变形...

    iOS中实现图片自适应拉伸效果的方法

    在旧版iOS中,`UIImage`类提供了`stretchableImageWithLeftCapWidth:topCapHeight:`方法,允许开发者指定图片的“端盖”(end cap),即不参与拉伸的区域。这两个参数分别指定了图片水平方向和垂直方向上保持原样的...

    iOS图片拉伸的多种方式

    - `stretchableImageWithLeftCapWidth:topCapHeight:`:此方法在iOS更早的版本中使用,用于设置图片的左边缘和顶部边缘的宽度,用于水平和垂直方向的局部拉伸。 - `resizableImageWithCapInsets:resizingMode:`:...

    iOS图片拉伸的4种方法

    这种方法使用`stretchableImageWithLeftCapWidth:topCapHeight:`方法,该方法接受两个参数,分别代表图片的左端盖宽度和上端盖高度。系统会自动计算右端盖和下端盖的宽度和高度。例如,我们可以将图片的左半部分和...

    iOS应用开发中图片的拉伸问题解决方案

    这可以通过使用`stretchableImageWithLeftCapWidth:topCapHeight:`方法来实现。该方法允许指定图片的哪一部分不应该被拉伸,通常是指定左边缘和顶部边缘的宽度(即“帽宽”),剩下的部分则会进行拉伸。例如,如果...

    IOS表格视图的制作.docx

    以上就是关于 iOS 应用开发中 `UITableView` 的详细介绍,包括其基本使用方法、单元格内容定制以及单元格复用机制等。通过本文的学习,相信读者能够更好地掌握 `UITableView` 的使用技巧,并将其灵活运用到实际项目...

    ios开发小技巧

    theImage = [theImage stretchableImageWithLeftCapWidth:0 topCapHeight:0]; CGSize theSize = [theAlert frame].size; UIGraphicsBeginImageContext(theSize); [theImage drawInRect:CGRectMake(5, 5, theSize....

Global site tag (gtag.js) - Google Analytics