之前 做纯色局部拉伸 通过 top  bottom left  right 相交的阴影拉伸 屡试不爽

实施方法:

imageView.image = [[UIImage imageNamed: @"icon_helper_palace_day"] resizableImageWithCapInsets:palaceInset]];

我用这个方法 去拉伸一个 有图案的图的 相对纯色的那一部分时候 会发现 图片被拉伸的同时 会有被图片局部本身填充的现象 好像是连续的同一个1个半的图

这个时候 说明我没考虑到拉伸图片UIImage的一个属性

:

typedef NS_ENUM(NSInteger, UIImageResizingMode) {

UIImageResizingModeTile, // 进行区域复制模式拉伸 "填充"

UIImageResizingModeStretch,//进行渐变复制模式拉伸 "拉伸"

};

默认的属性 是前者  明显就是像素点 填充 就适合纯色填充拉伸的那种 那么 其他情况的拉伸 就应该用你  stretch的属性

实施如下:

imageView.image = [[UIImage imageNamed:@"icon_helper_palace_day"] resizableImageWithCapInsets:palaceInset resizingMode:UIImageResizingModeStretch];

真的就是拉伸如下图(背景宫殿 拉伸的是红色城墙部分)

这是 对本地图片的处理  很不错 , 但是同样一张图 从网络获取的 用同样这个方法 效果图 如下 :

宫殿在最底下呢 拉伸后看不见了只是 这是为啥  我研究半天甚至 自己写了一个demo打算求助网友,  我突然发现 网上传下来的图片 是 xx.png  而本地图片 则是 @2x @3x 这个 是关键区别!!!!说明 代码很诚实的表达了这种尴尬的情况, 对于网络下载的xx.png app一定默认为原图 也就是 "@1x" 一倍图  ,那我 还是想让他按本地图片一样效果 必须处理 按比例裁剪 即可:

UIImage *iconImage = [HFImageUtil scaleToSize:image newSize:[UIImage imageNamed:@"icon_helper_palace_day"].size];//按当前应用获取到的 2x 或者是 3x的本地图的应用级别的大小 裁剪

这样 再去拉伸 妥妥地正常了

iOS UIImage 图片局部拉伸的一些学习要点的更多相关文章

  1. ios UIImage图片拉伸 resizableImageWithCapInsets:

    常见的按钮添加和背景设置如下: UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(80, 130, 160, 44)];[bu ...

  2. [IOS] 详解图片局部拉伸 + 实现图片局部收缩

    (图为微信首页右上角『+』效果) 当初还在开发WP7的时候,从IOS同事那边了解到类似微信以上功能的实现. Item条数不同,总高度也不同,这就需要将背景图片进行局部拉伸到响应的高度,并且保持上方的三 ...

  3. IOS中图片拉伸技巧与方法总结(转载)

    以下内容转载自:http://my.oschina.net/u/2340880/blog/403996 IOS中图片拉伸技巧与方法总结 一.了解几个图像拉伸的函数和方法 1.直接拉伸法 简单暴力,却是 ...

  4. UIImage图片拉伸方法

    纵观移动市场,一款移动app,要想长期在移动市场立足,最起码要包含以下几个要素:实用的功能.极强的用户体验.华丽简洁的外观.华丽外观的背后,少不了美工的辛苦设计,但如果开发人员不懂得怎么合理展示这些设 ...

  5. iOS 图片的拉伸,取固定区域显示

    1.图片拉伸合适的尺寸 以及清晰度 UIButton * but =[[UIButton alloc]initWithFrame:CGRectMake(, , , )]; //拉伸 /*UIImage ...

  6. iOS开发小技巧--巧用ImageView中的mode(解决图片被拉伸的情况)

    一.自己遇到的问题:在布局ImageView的时候,通过约束将ImageView布局好,但是里面的图片被拉伸的很难看.这时候就用到了Mode属性,如图: 代码实现方式: 二.让图片按照比例拉伸,并不是 ...

  7. iOS:图片拉伸不变形技巧

    方法: 假设图片为60*24 CGFloat top = image.height*0.5-1; // 顶端盖高度 CGFloat bottom = top ; // 底端盖高度 CGFloat le ...

  8. iOS 调整图片尺寸,告诉你的UI,别问我尺寸!我要最大的

    如果UI问你“这个图片你要多大尺寸的?”,你该怎么回答呢? 为了不让图片因拉伸或压缩而变形或模糊,请精确告诉UI图片的比例,至于图片的分辨率,不必要要求太严,但是最低要求是要让最大的屏幕不会出现前面描 ...

  9. iOS多图片下载

    iOS多图片下载.在cell里面下载图片.做了缓存优化. (app.icon是图片地址) // 先从内存缓存中取出图片 UIImage *image = self.images[app.icon]; ...

随机推荐

  1. 【VBA】复制单元格批注

    只复制单元格的批注该怎么操作呢?代码如下: Public Sub 复制单元格批注() Dim range1 As range Dim range2 As range '清除G列 Columns(&qu ...

  2. C#CRC16 Modbus 效验算法

    CRC校验(循环冗余校验)小知识 CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定.循环冗 ...

  3. delphi的字节对齐

    如果不改编译选项Delphi的Record默认也是4字节对齐的. 可以用编译开关指定 {$A4+}就是4字节对齐.同理{$A2+}.{$A1+}等.{$A1+}等同于Packed Record 主要容 ...

  4. mariadb在线热备份做主从

    yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noar ...

  5. 【已解决】iView-admin Editor 组件 绑定默认值问题

    iView-admin Editor 组件 绑定默认值问题 发现 editor 组件,设置v-model 后, 修改 v-model 数据, editor组件没有自动渲染,需要手动设置渲染  this ...

  6. CoreAnimation的使用小结

    參考:http://www.cnblogs.com/wendingding/p/3801157.htmlhttp://www.cnblogs.com/wendingding/p/3802830.htm ...

  7. Atitit.jdk java8的语法特性详解 attilax 总结

    Atitit.jdk java8的语法特性详解 attilax 总结 1.1. 类型推断这个特别有趣的.鲜为人知的特性1 2. Lambda1 2.1. 内部迭代意味着改由Java类库来进行迭代,而不 ...

  8. 为什么阿里巴巴要求谨慎使用ArrayList中的subList方法

    GitHub 3.7k Star 的Java工程师成神之路 ,不来了解一下吗? GitHub 3.7k Star 的Java工程师成神之路 ,真的不来了解一下吗? GitHub 3.7k Star 的 ...

  9. eclipse编写scala应用运行在spark集群上

    代码 package spark_1 import org.apache.spark.SparkConf import org.apache.spark.SparkContext class Work ...

  10. [转]基于fiddler的APP抓包及服务端模拟

    在HTTP接口的测试过程中,一般我们会按照如下的步骤进行: 1)测试环境的准备 2)HTTP消息体的构造 3)HTTP消息的发送及断言 如果我们可以拿到项目组的接口文档,并且HTTP后台服务是可以工作 ...