图片拉伸:拉伸两边,保持中间不动
原文地址:https://www.jianshu.com/p/9352091f3a94
1.想要实现一个弹框,是对某项事务的说明,效果如下
2.试过使用slicing
- 不论你怎么调,中间的那个小尖尖都会变形或者是没有拉伸的效果,或者拉成很奇怪的东西
3.所以用代码来实现了
思路 既然要保证中间不变拉伸两边,那我们先拉伸左边,然后得到的图片拿来再拉伸右边,保证两次拉伸的距离相同可以了
思路图:有点丑,见谅
需要拉伸的距离就是 X = (Z - Y) / 2
4.思路有了,上代码
- (UIImage *)dc_stretchLeftAndRightWithContainerSize:(CGSize)size
{CGSize imageSize = self.size;CGSize bgSize = size;//1.第一次拉伸右边 保护左边UIImage *image = [self stretchableImageWithLeftCapWidth:imageSize.width *0.8 topCapHeight:imageSize.height * 0.5];//第一次拉伸的距离之后图片总宽度CGFloat tempWidth = (bgSize.width)/2 + imageSize.width/2;UIGraphicsBeginImageContextWithOptions(CGSizeMake(tempWidth, imageSize.height), NO, [UIScreen mainScreen].scale);[image drawInRect:CGRectMake(0, 0, tempWidth, bgSize.height)];//拿到拉伸过的图片UIImage *firstStrechImage = UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();//2.第二次拉伸左边 保护右边UIImage *secondStrechImage = [firstStrechImage stretchableImageWithLeftCapWidth:firstStrechImage.size.width *0.1 topCapHeight:firstStrechImage.size.height*0.5];return secondStrechImage;
}
5.PS:这被我弄成了一个图片的分类,方便使用
我是看了这篇文章有的思路,需要的同学可以看看,感谢他
http://www.jianshu.com/p/bb3300cf15c4
图片拉伸:拉伸两边,保持中间不动相关推荐
- android自适应拉伸图片,Android 启动页-解决图片被拉伸和压缩问题,适配虚拟导航栏...
Android 启动页设置非常简单 //styles.xml 设置主题 @drawable/bg_splash true //activity使用主题,这时点击app图标,就会显示@drawable/ ...
- ios 按钮图片拉伸_#UIButton#背景图片的拉伸
如果不采用相应技术对button的背景图片进行拉伸,则显示的效果就会失真,效果: Snip20160823_7.png iOS中有三种方法对图片进行拉伸 // 方法一: - (void)viewDid ...
- android背景图拉伸,解决android:background背景图片被拉伸问题
解决android:background背景图片被拉伸问题 ImageView中XML属性src和background的区别: background会根据ImageView组件给定的长宽进行拉伸,而s ...
- wallpaper设置壁纸图片被拉伸
时间:2021/04/07 之前公司不允许csdn,笔记写在其它地方.最近整理过来 问题描述: 原生壁纸设置壁纸之后,图片被拉伸.导出/data/system/users/0/wallpaper_in ...
- ios 按钮图片拉伸_iOS中实现图片自适应拉伸效果的方法
前言 在Android中实现图片的拉伸特别特别简单,甚至不用写一行代码,直接使用.9图片进行划线即可.但是iOS就没这么简单了,比如对于下面的一张图片(原始尺寸:200*103): 我们不做任何处理, ...
- table vue 背景图片_table中background背景图片自动拉伸
解决android:background背景图片被拉伸问题 ImageView中XML属性src和background的区别: background会根据ImageView组件给定的长宽进行拉伸,而s ...
- html js 修改img 图片不拉伸,防止图片拉伸的自适应处理
在web开发中,作为前端经常会遇到处理图片拉伸问题的情况. 例如banner.图文列表.头像等所有和用户或客户自主操作图片上传的地方, 而一旦牵扯图片,就会涉及到图片拉伸的问题, 当然,在图片上传时做 ...
- html js 修改img 图片不拉伸,Javascript防止图片拉伸的自适应处理方法
前言 相信大家在日常的web开发中,作为前端经常会遇到处理图片拉伸问题的情况. 例如banner.图文列表.头像等所有和用户或客户自主操作图片上传的地方,而一旦牵扯图片,就会涉及到图片拉伸的问题,当然 ...
- css flex 图片不拉伸_flex布局下img元素被拉伸变形的有效解决办法
在flex布局下图片被拉伸: 正常的效果: 一.给img元素设置flex-shrink: 0 给 img 设置 flex-shrink: 0; 这种方式不会破坏现有的目录结构,只需要给被拉伸的img添 ...
- QQ中对话框图片的拉伸问题
一.主旨部分(关于QQ中对话框的拉伸问题) 1> 示例图片(此图片是不合格的) 2> 最终拉伸的图片样式(合格) 二.方法(三种) 1> 方法一:增加一个分类,在分类中实现对图片的修 ...
最新文章
- python webshell_python脚本实现查找webshell的方法
- 集合嵌套存储和遍历元素的示例
- 初识redis(redis基础命令)
- STL链式存储结构——————list链表
- MySQL 错误 #1055
- Jenkins学习七:Jenkins的授权和访问控制
- JUC锁-CyclicBarrier(七)
- BurpSuite插件 -- Struts2-RCE
- stm32 输入捕获 测量脉宽
- CVPR 2019 | Adobe提出新型超分辨率方法:用神经网络迁移参照图像纹理
- c++二进制转十进制_进制转换:二进制、八进制、十进制、十六进制相互转换
- Linux两种方式rd.break和init重置root管理员密码
- 数字城市新型基础设施——打造以“运营与安全并重”为特色的新型数字空间
- 自动写诗APP项目、基于python+Android实现(技术:LSTM+Fasttext分类+word2vec+Flask+mysql)第四节
- 密码学——培根密码和栅栏密码
- 高远球技术(羽毛球)
- Excel文件显示“文件已损坏,无法打开”情况的解决办法
- Win10家庭中文版开机后弹窗无法登录到你的账户点注销没用(解决过程记录)
- 把int转换为char把int转换为char
- 线性代数: 什么是矩阵,以及矩阵的线性代数意义
热门文章
- 2018-2019-2 20189206 《密码与安全新技术专题》 第六次作业
- High Performance Visual Tracking with Siamese Region Proposal Network全文翻译
- IOS 七种手势详解(动图+Demo下载)
- mac怎么压缩pdf文件大小?
- 全面概述将人工智能市场纳入其广泛的数据库
- flink学习(五)DataStream API
- SaaS到底是什么,如何做?——这份我亲手整理的笔记您收好了!
- 【MM模块】Subsequent Debits/Credits 事后借记/事后贷记
- 云直播丁云鹏:最可怕的,是你低估生活的残酷
- Wifidog扫盲篇