前言在微信小程序开发中image 组件是使用频率最高的组件之一。它提供了多种图片缩放和裁剪模式mode以满足不同场景下的 UI 需求。本文将通过一个实战案例演示如何在同一张图片上应用 14 种不同的显示模式并附带一个“显示模式编号”的扩展。 案例描述设计一个小程序演示 image 组件不同显示模式的实现方法和效果。小程序运行后能够以 14 种模式显示同一张图片并且通过滚动条查看每种模式的效果。️ 项目准备新建一个不使用云服务、不使用模板的小程序项目。修改 app.json 文件将 renderer: skyline 修改为 renderer: webview即不使用 Skyline 渲染引擎使用 Webview 渲染引擎。在小程序根目录下新建 images 文件夹放入一张测试图片例如 daxinganling.jpg。 核心代码实现1. 数据逻辑 (index.js)// index.js Page({ data: { // 图片路径 src: /images/daxinganling.jpg, // 显示图片模式及文字说明数组 imgArray: [{ index: 1, mode: scaleToFill, text: scaleToFill: 缩放模式不保持纵横比缩放图片使图片的宽高完全拉伸至填满 image 元素 }, { index: 2, mode: aspectFit, text: aspectFit: 缩放模式保持纵横比缩放图片使图片的长边能完全显示出来。也就是说可以完整地将图片显示出来 }, { index: 3, mode: aspectFill, text: aspectFill: 缩放模式保持纵横比缩放图片只保证图片的短边能完全显示出来。也就是说图片通常只在水平或垂直方向是完整的另一个方向将会发生截取 }, { index: 4, mode: widthFix, text: widthFix: 缩放模式宽度不变高度自动变化保持原图宽高比不变 }, { index: 5, mode: heightFix, text: heightFix: 缩放模式高度不变宽度自动变化保持原图宽高比不变 }, { index: 6, mode: top, text: top: 裁剪模式不缩放图片只显示图片的顶部区域。仅 Webview 支持 }, { index: 7, mode: bottom, text: bottom: 裁剪模式不缩放图片只显示图片的底部区域。仅 Webview 支持 }, { index: 8, mode: center, text: center: 裁剪模式不缩放图片只显示图片的中间区域。仅 Webview 支持 }, { index: 9, mode: left, text: left: 裁剪模式不缩放图片只显示图片的左边区域。仅 Webview 支持 }, { index: 10, mode: right, text: right: 裁剪模式不缩放图片只显示图片的右边区域。仅 Webview 支持 }, { index: 11, mode: top left, text: top left: 裁剪模式不缩放图片只显示图片的左上边区域。仅 Webview 支持 }, { index: 12, mode: top right, text: top right: 裁剪模式不缩放图片只显示图片的右上边区域。仅 Webview 支持 }, { index: 13, mode: bottom left, text: bottom left: 裁剪模式不缩放图片只显示图片的左下边区域。仅 Webview 支持 }, { index: 14, mode: bottom right, text: bottom right: 裁剪模式不缩放图片只显示图片的右下边区域。仅 Webview 支持 }] } })2. 页面结构 (index.wxml)!--index.wxml-- navigation-bar titleimage组件 back{{false}} colorblack background#FFF/navigation-bar scroll-view classscrollarea scroll-y typelist view classbox view classtitle图片的不同显示模式/view !-- 列表渲染 -- block wx:for{{imgArray}} wx:keyindex view classitem-wrapper !-- 作业要求显示模式编号 -- view classmode-index显示模式编号{{item.index}}/view !-- 文字说明 -- view classmode-text{{item.text}}/view !-- 图片容器 -- view classimg-layout image src{{src}} mode{{item.mode}}/image /view /view /block /view /scroll-view3. 样式设计 (index.wxss 与 app.wxss)/**index.wxss**/ page { height: 100vh; display: flex; flex-direction: column; } .scrollarea { flex: 1; overflow-y: hidden; } .item-wrapper { margin-bottom: 50px; border-bottom: 1px solid #eee; padding-bottom: 20px; } .mode-index { color: red; font-weight: bold; font-size: 32rpx; margin-top: 20px; margin-bottom: 10px; } .mode-text { font-size: 28rpx; color: #333; line-height: 1.6; margin-bottom: 20px; } .img-layout { text-align: center; margin-top: 10px; } image { width: 600rpx; height: 600rpx; background-color: #eee; display: block; margin: 0 auto; }/**app.wxss**/ .box { margin: 20px; padding: 20px; border: 2px solid silver; } .title { font-size: 40px; font-weight: bolder; text-align: center; margin-bottom: 30px; color: red; } 结语通过这个案例我们完整地学习了微信小程序 image 组件的 14 种显示模式并掌握了 wx:for 列表渲染、数据绑定以及 Flex 布局的基本用法。希望这篇博客能帮助到正在学习小程序开发的你
企业数字化 ERP 产品动态
相关推荐
微信表情包怎么批量保存到相册?一次存一堆 微信表情包怎么批量保存到相册?微信本身没有一键批量保存的按钮,但你可以一次把好几个表情发给「表情保存助手」,它逐个回复下载地址,你逐个点「保存到手机」,就能一口气存一批,不用来回切换别的软件。一张… · 2026/9/23 22:18:56
专升本机构背后的“官方合作资源”到底有什么用? 一句话结论:官方合作资源对备考的实际价值有三点——信息更早、口径更准、路径更顺。它不替代个人努力,但能减少“方向性错误”的成本。一、先分清三种“合作”,别被说法绕晕说法真实含义对备考的实际影响产教融合合作与高校、企业、科研机构… · 2026/9/23 22:18:50
DeepSeek大模型嵌入视觉伺服闭环的工业精密装配误差实时修正方案 简介:本资源是一份面向工业自动化工程师、智能制造研发人员及AI视觉应用从业者的深度技术方案,聚焦精密装配场景中累积误差的实时修正难题,创新性提出基于DeepSeek大模型的视觉伺服定位校正框架。文档共332页,含50个系统化章节&am… · 2026/9/23 22:18:43
Atlas 300V 24G部署YOLO全攻略:从推理卡定位到模型转换 在项目现场待久了,经常被同事问到一个问题:“这块Atlas 300V 24G到底算不算运算加速卡?”刚接触昇腾平台的人,看到“加速卡”三个字容易下意识往GPU上想,看到“24G”又会误以为和显卡显存一样。其实这个问题的答案直接… · 2026/9/23 23:01:03
Faster-RCNN PCB缺陷检测实战:数据准备、训练与评估全解析 简介:基于Python和Faster-RCNN的PCB元器件缺陷检测项目,提供完整源码、开发文档与项目解析,面向毕业设计、课程设计与实际项目开发场景。项目代码已经过严格测试,可直接运行并在此基础上二次扩展。资源包共79个文件,其… · 2026/9/23 23:01:03
双色球杀号公式实战:缩水工具与回测方法论 1. 杀号公式到底在杀什么:先搞清楚它的数学边界很多人第一次接触“杀号公式”这四个字,脑子里浮现的画面是某种能精准排除废号的神秘算法。我刚开始研究这个方向时也这么想,后来把最近几十期的开奖数据拉出来做了几轮回测,才意识到… · 2026/9/23 23:01:03
Hadoop+Spring Boot:电力生产数据分析系统实战 简介:基于Hadoop大数据与Spring Boot的电力生产数据分析系统源码项目,面向计算机相关专业学生、毕业设计者与入门开发者,覆盖电力数据从HDFS存储、PySpark预处理分析到Web可视化展示的完整业务链路,适合作为毕业设计、课程设计或项… · 2026/9/23 23:00:56
基于Python的淘宝京东商品评论爬虫与情感分析系统实战解析 简介:这是一份基于Python开发、面向毕业设计与期末大作业场景的商品评价系统完整资源,覆盖淘宝、京东商品评论爬虫采集与情感分析全流程。系统整合了Python爬虫、数据处理及LSTM等情感分析模型,适合需要完成电商评论分析类项目的计算机专业学… · 2026/9/23 23:00:56
3招搞定手机怎么下载微信面试难题实战项目解析 3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A… · 2026/9/23 0:00:03
你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 面试被问“高并发下如何保证消息不丢失”,你张口就是“用Redis”,结果面试官追问“如果Redis宕机了怎么办”,你瞬间卡壳。这种场景太常见了,很多新手在背八股文时,只记住了技术名词… · 2026/9/23 0:00:29