关于ios开发中图片的拉伸操作

iOS小技能: 图片平移、旋转处理 前言掌握: 0>图片拉伸:确定可拉伸、平铺的的小矩形inset。确定图片可调整的小矩形--resizableImageWithCapInsets:1》通知的发布 2》通知的监听 3》通知的移除零、通知和代理的选择1》共同点:都能饿按此对象间的通信 2》不同点:代理是一对一关系;通知是多对多的关系(1个对象能告诉N个对象发生了什么事情,1个对象能得知N个对象发生了什么事情) 阅读详情
resizableImageWithCapInsets:
这个方法用于图片的拉伸,其参数是一个UIEdgeInsets,它的格式是(top, left, bottom, right)
拿到这四个值之后如何拉伸呢,举一个例子:
比如一个气泡,设置了拉伸的四个参数之后,示意如下:
如图,四条线围成了一个小的矩形,一般的解释是说,用中间的小矩形来填充(平铺或拉伸)需要补充的地方。
但是这种解释是错误的,对于我们实例中的这个气泡,我们拉伸它,重要的一点就是不要破坏四个角的弧度以及箭头的形状,但是,拉伸之后,气泡的周长是一定要变长的,多出来的周长从哪里来??显然上面的解释无法说明这个问题。

真实情况是,这种拉伸方法,其实是分为两步:
1.横向拉伸
2.纵向拉伸
首先只考虑横向拉伸,即横向将这个气泡拉长,这种情况下,我们只需要考虑left和right两根线:
依上图所示,横向拉伸,就是靠拉伸这两条线之间的部分,以达到横向拉长的目的,而不会去动left线左边和right线右边的部分,拉长之后的效果:
这样就保证了四角和箭头不被破坏只是拉伸两条线之间的部分。

在纵向拉伸也是一样的,只拉伸top和bottom两条线之间的部分,保证其他部分不变,就可以纵向拉高图片。

经过这两步之后,图片就被拉伸好了,并且保留了旗袍的四角圆弧和箭头。

总结一下,拉伸的时候,指定top,left,bottom,right四个参数的原则是:
1.top和bottom两条线之间的部分允许变形
2.left和right两条线之间的部分允许变形

这样就保证了,重要的部分保留,而只对允许变形的部分进行拉伸。 
iOS中实现图片自适应拉伸效果的方法 图片拉伸在移动开发中特别常见,比如常用的即时通讯应用中的聊天气泡就需要根据文字长度对背景图片进行拉伸自适应。下面这篇文章主要给大家介绍了iOS中实现图片自适应拉伸效果的方法,需要的朋友可以参考借鉴,下面来一起看看吧。 立即下载

相关推荐

Zoom AI 技术架构研究:联合式方法与多模态集成

通过 Zoom AI 开放平台,企业可以自定义 AI 模块 (如法律合规审查、客户反馈分析),扩展应用场景。这种开放平台策略使企业能够根据自身需求定制 AI 功能,满足特定业务需求。

shao.bing的专栏 1317

iOS聊天气泡的处理——图片拉伸resizableImageWithCapInsets:resizingMode

- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode 很多时候要对图片某个地方进行一个拉伸处理,从而达到想要的效果,例如 聊天的对话框,短信的对话框。例如 当显示的是字数很多或者很多行的时候,不确定高度,但是显示的图片只有一张,

操作猛如虎的博客 6805

解密美团外卖API:mtgsig和waimai_sign参数生成原理与Python实现

本文深入解析了美团外卖API中核心风控参数mtgsig和waimai_sign的生成原理与实现方法。文章详细拆解了waimai_sign作为业务数据签名、mtgsig作为请求环境签名的不同角色与生成逻辑,并通过Python代码示例演示了如何通过逆向工程、Frida动态Hook等技术手段模拟签名生成过程,为开发者理解移动端API安全机制提供了实战参考。

weixin_29325515的博客 552

iOS中气泡对话框拉伸效果视图的实现

在iOS开发中会遇到使用一个气泡类型的视图来做背景,有时候是UIView和UIImageView,有时候是对话框Button, 如果直接设置气泡图片的话,图片在拉伸过程中会把气泡的小嘴也拉大,而且如果是Button的话,内容也有可能会添加到小嘴的地方, 在iOS6后,使用 resizableImageWithCapInsets 重构图片大小拉伸的设置可以解决这个问题。

COOL_BEAR_XX的专栏 9900

S4 HANA 1809+折旧过账(AFAB/AFABN)凭证行数据存储逻辑变迁:从BSEG到ACDOCA的深度解析

本文深度解析了S4 HANA 1809+版本中折旧过账(AFAB/AFABN)凭证行数据存储逻辑的变迁,从传统的BSEG表迁移到ACDOCA表。文章详细探讨了这一变更的技术背景、官方设计意图及实际影响,包括数据存储量减小和系统性能提升等优势。同时提供了升级项目的应对策略和最佳实践建议,帮助用户顺利过渡到新的数据存储模型。

weixin_28731223的博客 294

从投影到抗噪:直线拟合三大算法实战指南

本文深入解析了直线拟合的三大核心算法:常规最小二乘法(OLS)、正交回归(TLS)和RANSAC。通过对比其几何原理、代码实现与适用场景,为计算机视觉和数据分析领域的实践者提供了清晰的选型指南,帮助在抗噪、旋转不变性等不同需求下,精准选择并应用最合适的算法。

ujm567890的博客 576

iOS图像拉伸,stretchableImageWithLeftCapWidth

- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight: (NSInteger)topCapHeight 这个函数是UIImage的一个实例函数,它的功能是创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数,第一个是左边不拉伸区域的宽度,第二个参数是上面不拉伸的高度。 根据设

6017

pynq-z2 HLS开发

定制Overlay一.用HLS生成一个定制IP功啊啊是合理的创建标题,有助于目录的生成如何改变是式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 一.用HLS生成一个定制IP ...

qq_38769280的博客 4156

iOS-图片拉伸技巧

iOS开发中我们会遇到渐变的背景,内容可变的流式标签,聊天气泡(QQ聊天气泡),由于内容是可变的,宽度和高度同样可变,这样就是导致每次出现的尺寸与之前不一样。如果是需要设置的比较的多,估计美工会烦死,同样也会额外增加的内存开销,所以这个知道一点图片拉伸的技巧会师我们的能使我们APP更加高效,代码更加简洁,事半功倍~从设置的角度来有四种方法可以实现~ Assets设置 首先我们有一个不规则的气泡...

weixin_34407348的博客 250

GEE土地分类:一文读懂精度评定—混淆矩阵confusion matrix、整体精度OA、用户者精度、生产者精度、kappa系数和F1score系数含案例

本文介绍了如何在 Google Earth Engine (GEE) 中构建和分析混淆矩阵,以评估分类模型的性能。首先,通过 ee.Array 构建混淆矩阵,并展示了如何指定自定义类标签。接着,计算了多种性能指标,包括准确率、Kappa 值、F1-score、消费者准确率和生产者准确率。此外,还演示了如何计算不同类别的 F1-score。最后,通过一个实际案例,展示了如何利用 GEE 进行土地分类,并评估分类器的性能,包括训练和验证样本的准确率、Kappa 值等指标。这些步骤帮助用户理解模型的优缺点,并进行

此星光明博客 442

C#上位机+国产PLC+AI:构建自主可控的智能生产线解决方案

全栈国产化智能产线方案并非遥不可及,基于成熟的国产硬件、丰富的.NET生态、快速发展的国产大模型,完全可以搭建出稳定可靠且具备智能能力的生产系统。落地建议采用三步走策略:基础国产化阶段:替换PLC与上位机,实现基础监控与控制功能,解决卡脖子问题,快速验证国产化方案稳定性数据沉淀阶段:完善数据采集与存储,建立设备台账、故障库、工艺库,积累高质量领域数据智能升级阶段:引入国产大模型与知识库,落地故障诊断、工艺优化、预测性维护等智能应用,持续提升产线效率。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 520

iOS-图片两边拉伸,中间保持不变

一般聊天气泡图片拉伸结果是这样的: 但是如果要求箭头再中间, 表示对某事物的说明, 就会很难实现: 我的实现方法如下, 需要两次拉伸, 第一次拉伸后需要保存图片. 需要注意的只是: 1.保存图片 2.计算第一次拉伸的宽度:第一次拉伸宽度=最终宽度/2+原图宽度/2 3.如果原图箭头不在正中间, 不适用这个计算公式, 我的原图就是偏的, 所以结果有点

qq_21649645的专栏 3720

“华为杯”研究生数学建模竞赛2020年-【华为杯】E题:能见度估计与预测(附获奖论文及python代码实现)

因此,题目要求借助机场的 AMOS 观测数据中的气压、温度、湿度、风速等气象因子,达到 100% 时,空气中的水汽便会凝结成细微的水滴悬浮于空中,使地面水平的能见度下。传统的仪器探测法成本高,覆盖范围小,而基于视频的能见度检测能弥补仪器测量的不足之处,但是预测精度不高,需要进一步改。象条件,空气质量的影响,其中较为关键的影响因子是雾和霾。性过强,激光能见度仪的检测方法更为可信,但是激光能见度仪覆盖的检测范围小,安装。覆盖的交通视频路况数据间接计算得到能见度数值的方法,此方法成本较低,覆盖范围广。

getusushu的博客 2282

iOS Xcode Slicing图片拉伸 android .9.png

iOS Xcode Slicing图片拉伸的图文详解

baidu_40537062的博客 528

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

初学ios的一些笔记

1。软键盘点击done后消失以及点击next后跳转到下一个textfield - (BOOL)textFieldShouldReturn:(UITextField *)textField { if(textField == name1) { [name2becomeFirstResponder]; } return YES; } 2。数据永久化储存之NSUserD

落埃无蒂的专栏 3881

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

ios中拉伸图片的方法

//下面有三种方法来拉伸图片 // 1. // [normal stretchableImageWithLeftCapWidth:normal.size.width * 0.5 topCapHeight:normal.size.height * 0.5];// 2.CGFloat top上面保留多少,<#CGFloat left#>左边保留多少 // CGFloat w =

ozxozxozx的专栏 474

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

ios 中间 图片缩放_在 iOS 开发中如何优雅地进行图片缩放?

对于图片拉伸是移动开发中很常见的需求,在前一阵子做项目中需要做一个类似于QQ聊天气泡,这个气泡会根据文字的多少而变化,当时有了三种方案:重写drawRect方法,使用贝赛尔曲线画一个气泡用一个大图作为背景,管它怎么拉伸,肯定不会变形使用图片,同时使用系统提供的API对图片进行局部拉伸来分析一下这三种做法利弊:第一种:劳民伤财,drawRect的使用带来离屏渲染,如果滑动聊天界面将使内存急剧增加,同...

weixin_36422707的博客 221

返回一张自由拉伸的图片

#import @interface UIImage (YKD) /** * 加载图片 * * @param imageName 图片名 */ + (UIImage *)imageWithName:(NSString *)imageName; /** * 返回一张自由拉伸的图片 */ + (UIImage *)resizedImageWithName:(NSString *

842

IOS使用xcode可视化图像编辑功能进行图片拉伸

IOS中可视化拉伸图片技巧 一、补充 在我的另一篇博客http://my.oschina.net/u/2340880/blog/403996中探讨了IOS拉伸图像(UIImage)的几种方法和一些小经验,这篇是一个补充,再将xcode中的另一种可视化拉伸图像的方法的使用介绍给大家。 二、如何使用 IOS开发文档中的描述:https://devel...

weixin_34080951的博客 756

图片拉伸 [UIImage resizableImageWithCapInsets:]使用注意

[UIImage resizableImageWithCapInsets:] 它带参数: UIEdgeInsets,这是一结构体,包含 上/左/下/右四个参数。函数的作用我们看下文档: Creates and returns a new image object with the specified cap insets. Discussion You use this met

yufeiskyer的专栏 1262

IOS应用开发-图片处理

在做项目时我们经常要对图片进行一些处理,以达到性能优化或满足需求...

备忘录 1302

IOS 学习笔记(6) 控件 文本域(UITextField)的使用方法

UITextField控件的诸多特性都和UITextView相似,比如成为输入文本焦点时键盘自动显示,支持长按弹出动作选项,能够接收输入事件(开始输入,修改内容,结束输入和点击回车等)。 1.特有的特 但对于UITextField来说,他又有很多自己独有的特性: (1)placeholder. 当UITextField上没有文本内容时,会以灰色的内容显示placeholder...

weixin_33849215的博客 235

UIImageView圆角,自适应图片宽高比例,图片拉伸,缩放比例

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34174105的博客 90

UIButton的拉伸

UIButton的拉伸 1.拿到button的背景图片 UIImage *image = self.loginBtn.currentBackgroundImage; 2.拉伸图片 iamge = [image stretchableImageWithLeftCapWidth:image.size.width/2 topCapHeight:image.size.height/2]; 3.设置背景...

weixin_44729579的博客 299

UIImageView圆角,自适应图片宽高比例,图片拉伸,缩放比例和图片缩微图

 /*      设置圆角,通过layer中的cornerRadius和masksToBounds即可。            自适应图片宽高比例。通过UIViewContentModeScaleAspectFit设置,注意这个UIImageView的frame就不是init中的数据了。            同样的UIImage图片放入不同frame中的UIImageView就可以实现...

weixin_33842304的博客 97
上一篇: 开发中注意点
下一篇: ios 通过设置UI控件的center和size来设置位置时需注意!
Make___
博客等级 码龄12年 2粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值