之前 做纯色局部拉伸 通过 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. oracle 序列重置

    问题一:怎样重置oracle序列 oracle序列创建以后,假设想重置序列从 0 開始,逐渐递增1,能够採用例如以下存储过程: create or replace procedure reset_se ...

  2. oracle数据库权限管理

    权限管理: oracle 9里面默认的三个username和password: sys change_on_install //权限最高的管理员 system manager //普通的管理员 sco ...

  3. eclipse下构建maven spring项目

    准备工作: 1.下载eclipse(Eclipse Java EE IDE for Web Developers,Version: Juno Service Release 2). 2.下载maven ...

  4. LVM卷组命令

    一般维护命令  #vgscan //检測系统中全部磁盘  #vgck [卷组名] //用于检查卷组中卷组描写叙述区域信息的一致性.  #vgdisplay [卷组名] //显示卷组的属性信息  #vg ...

  5. oracle中can not set解决方法

    原因:set autotrace on和set trimspool on在pl\sql中使用不了 解决方法:在window环境中,使用cmd命令,sqlplus user_name/password@ ...

  6. Android发短信

    设置应用一打开时候的背景图片 去掉相对布局时候的标题 去除标题必须在setContentView(R.layout.activity_main)之前. @Override protected void ...

  7. PHP 使用 GeoLiteCity 库解析 IP 为地理位置

    关于把 IP 地址转换为地理位置可以使用网络上很多的 API,好处就是不用在本地存储一个 IP 数据库,而且一般网络上的 IP 库会自动更新,不利的地方就是太依赖于网络,性能表现也可能会弱些.比如像下 ...

  8. k8s部署dashborad

    环境: 两台虚拟机, 10.10.20.203 部署docker.etcd.flannel.kube-apiserver.kube-controller-manager.kube-scheduler ...

  9. 安装Linux CentOS与用Xshell实现远程连接

    注意,进入后有一个选择skip和OK的,选择skip 网络问题 vi /etc/sysconfig/network-scripts/ifcfg-eth0  //打开网络配置文件 ONBOOT=no  ...

  10. 数据预处理及sklearn方法实现

    1.标准化(中心化) 在许多机器学习执行前,需要对数据集进行标准化处理.因为很对算法假设数据的特征服从标准正态分布.所以如果不对数据标准化,那么算法的效果会很差. 例如,在学习算法的目标函数,都假设数 ...