图片拉伸问题

简介: 图片拉伸问题

图片拉伸问题


UIImage *image = [UIImage imageNamed:@"chat_send_nor"];

// 1.2 拿到image的尺寸
CGFloat imageWidth = image.size.width;
CGFloat imageHeight = image.size.height;
###方式一
UIImage *resizableImage = [image resizableImageWithCapInsets:UIEdgeInsetsMake(imageHeight * 0.5, imageWidth * 0.5, imageHeight * 0.5 -1, imageWidth * 0.5 - 1) resizingMode:UIImageResizingModeTile];
[self.button setBackgroundImage:image forState:UIControlStateNormal];
###方式二
/*
   右边需要保护的区域 = 图片的width - leftCapWidth - 1
   底部需要保护的区域 =  height - topCapHeight - 1
 */
UIImage *resizableImage = [image stretchableImageWithLeftCapWidth:imageWidth * 0.5 topCapHeight:imageHeight * 0.5];
[self.button setBackgroundImage:image forState:UIControlStateNormal];

方式三   在Assets.xcassets里面设置就可以

c73c1a39fe9ffd6a99694e2c1aedd0c2.png

如果你非得用代码的话,我建议给UIImage添加一个分类

步骤如下

第一步:

e4c9f26d5aac5a3d1db2b9d2d7dd1342.png

第二步:

f8c4025f4596a0b97a4003e16cf5e6f5.png

第三步:在.h文件提供一个方法出来

4854247a595a2420641c2232e3b75e51.png

第四步:在.m文件中实现

53c83e27a34efb3d54570fb1656d32a2.png

使用方法:

导入头文件  类方法调用传递一张图片名字就OK

477d51bbeaedf1807e062241736eb8a0.png

相关文章
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
不卷通用大模型,网易AI的“错位”生存法则
网易AI战略简介(240字内): 马年红包大战烧钱45亿,网易却选择“避战”——不卷通用大模型,不砸钱抢流量。依托1400亿现金与年超177亿元研发,聚焦游戏、教育、音乐等垂类,打造“最懂游戏的AI专家”:AI覆盖90%美术流程、提效300%;《逆水寒》AI门客、《蛋仔》AI建模重塑交互;技术外溢至具身智能机器人、企业Agent及个人助理LobsterAI。务实走“应用先行—能力固化—场景外溢”路径,以实用主义破AI焦虑。
553 11
|
7月前
|
存储 人工智能 算法
深度拆解:一套最小可用的向量数据库是如何从代码堆里长出来的?
本文带你从零手搭向量数据库,深入拆解Embedding、向量压缩与ANN三大核心原理,避开“调包侠”陷阱;通过FAISS实战构建语义检索系统,涵盖向量化、索引、精排、元数据过滤全流程,并提供可落地的评估方法与工程避坑指南。(239字)
276 2
|
9月前
|
人工智能 自然语言处理 安全
99%成功率背后:阿里云短信群发平台哪些优势?收费价格多少钱一条?
阿里云短信群发平台,99%高送达率,支持全球200+国家和地区。高并发、安全API调用,多语言SDK快速接入。提供智能管控、防盗刷、AI模板助手等功能。短信低至0.01元/条,按量付费最低0.036元/条。
1169 1
|
9月前
|
Java Go 开发工具
微服务是不是就是spring cloud?
微服务是一种将应用拆分为小型、独立服务的架构风格,强调单一职责、独立部署与技术异构;Spring Cloud 是基于 Spring Boot 的开发工具集,提供服务注册、配置管理等组件,助力微服务落地。前者是架构理念,后者是实现手段,二者关系如同“蓝图”与“施工工具”。
|
Linux 网络安全 开发工具
码云
码云
1002 2
|
存储 人工智能 安全
《鸿蒙系统AI技术:筑牢复杂网络环境下的安全防线》
鸿蒙系统通过微内核架构、可信执行环境、数据保护机制、应用跟踪管理、智能检测与防护及安全沙盒等技术,构建了全方位多层次的安全防护体系。微内核精简稳定,缩小攻击面;可信执行环境保障敏感数据安全;数据分级防护和密钥管理确保信息安全;应用跟踪管理保护用户隐私;智能检测实时应对威胁;安全沙盒隔离风险。鸿蒙系统为复杂网络环境下的用户提供强大的安全保障,提升智能应用体验。
433 7
|
并行计算 JavaScript 算法
opencv4.5.1+contrib+cuda编译成功,实时人头匹配,手动狗头
这篇文章介绍了如何在Windows 10上使用Visual Studio 2017成功编译OpenCV 4.5.1及其contrib模块和CUDA支持,并解决了编译过程中的问题,如项目文件无效、cmake工具问题,并添加了Qt和JavaScript支持,同时提供了参考链接。
431 7
opencv4.5.1+contrib+cuda编译成功,实时人头匹配,手动狗头
|
算法 Java
Java实现五子棋对战小游戏
Java实现五子棋对战小游戏
1114 0
Java实现五子棋对战小游戏
|
Java
Java Set 是一个不包含重复元素的集合接口,确保每个元素在集合中都是唯一的
【10月更文挑战第14天】Java Set 是一个不包含重复元素的集合接口,确保每个元素在集合中都是唯一的。本文介绍了 Set 的独特特性和两个常用实现类:基于哈希表的 HashSet 和基于红黑树的 TreeSet。通过示例代码展示了它们如何高效地处理唯一性约束的数据。
424 3
|
编解码 开发工具 Android开发
Windows平台RTMP推送|轻量级RTSP服务如何实现摄像头叠加到屏幕输出
大牛直播SDK采用先进的图层概念实现视频叠加,如将摄像头画面实时叠加到屏幕输出,以C#为例展示了具体的配置方法。用户可在推送RTMP或启动RTSP服务前选择“摄像头叠加到屏幕”的选项,并调整位置。SDK还支持摄像头的开启与关闭、水平垂直翻转及旋转等功能。此外,该SDK提供了丰富的特性,包括但不限于视频和音频采集处理、硬编码与软编码支持、多实例推送、水印添加、网络适应性调整等,几乎涵盖了RTMP推送的所有常规需求,并能与播放器协同工作达到毫秒级的低延迟,非常适合无纸化同屏、智慧教室等应用场景。
555 4

热门文章

最新文章