首页/新闻资讯/正文详情

微信小程序 image 组件 14 种显示模式详解与实战

发布时间:2026/9/24 12:40:43 来源:云帆数科 栏目:资讯中心
微信小程序 image 组件 14 种显示模式详解与实战
一、前言在微信小程序开发中image组件是最常用的组件之一用于展示图片。与 HTML 中的img标签不同小程序的image组件提供了丰富的显示模式mode属性可以控制图片的缩放和裁剪方式。本文将通过一个完整的案例详细演示image组件的14 种显示模式并通过列表渲染wx:for将所有模式一目了然地展示出来。二、image 组件简介image组件默认宽度为 320px、高度为 240px其核心属性是mode用于指定图片的裁剪和缩放模式。mode的有效值共有 14 种分为两大类缩放模式5 种scaleToFill、aspectFit、aspectFill、widthFix、heightFix裁剪模式9 种top、bottom、center、left、right、top left、top right、bottom left、bottom right注意裁剪模式top、bottom 等仅在 Webview 渲染引擎下支持因此需要在app.json中将renderer设置为webview。三、项目搭建3.1 新建项目新建一个不使用云服务、不使用模板的小程序项目。3.2 修改 app.json将渲染引擎改为webview以支持裁剪模式{pages:[pages/index/index],window:{navigationBarTextStyle:black,navigationStyle:custom},renderer:webview,style:v2,sitemapLocation:sitemap.json}3.3 准备图片在项目根目录新建images文件夹放入一张用于测试的图片如daxinganling.jpg。四、核心代码实现4.1 页面结构 index.wxml使用自定义导航栏组件navigation-bar通过scroll-view实现可滚动区域利用wx:for遍历图片模式数组!--index.wxml--navigation-bartitleimage组件back{{false}}colorblackbackground#FFF/navigation-barscroll-viewclassscrollareascroll-ytypelistviewclassboxviewclasstitle图片的不同显示模式/viewblockwx:for{{imgArray}}viewclassmode-no显示模式编号{{index 1}}/viewviewclassmode-text{{item.text}}/viewviewclassimg-layoutimagesrc{{src}}mode{{item.mode}}//view/block/view/scroll-view代码说明wx:for{{imgArray}}列表渲染遍历模式数组{{item.text}}绑定图片的说明文字{{src}}绑定图片地址{{item.mode}}绑定图片的显示模式{{index 1}}列表渲染的索引从 0 开始加 1 后作为显示模式的编号4.2 页面逻辑 index.js在data中定义图片路径src和模式数组imgArray数组中每一项包含mode显示模式和text模式说明Page({data:{src:/images/daxinganling.jpg,imgArray:[{mode:scaleToFill,text:scaleToFill: 缩放模式不保持纵横比缩放图片使图片的宽高完全拉伸至填满 image 元素},{mode:aspectFit,text:aspectFit: 缩放模式保持纵横比缩放图片使图片的长边能完全显示出来。也就是说可以完整地将图片显示出来},{mode:aspectFill,text:aspectFill: 缩放模式保持纵横比缩放图片只保证图片的短边能完全显示出来。也就是说图片通常只在水平或垂直方向是完整的另一个方向将会发生截取},{mode:widthFix,text:widthFix: 缩放模式宽度不变高度自动变化保持原图宽高比不变},{mode:heightFix,text:heightFix: 缩放模式高度不变宽度自动变化保持原图宽高比不变},{mode:top,text:top: 裁剪模式不缩放图片只显示图片的顶部区域。仅 Webview 支持},{mode:bottom,text:bottom: 裁剪模式不缩放图片只显示图片的底部区域。仅 Webview 支持},{mode:center,text:center: 裁剪模式不缩放图片只显示图片的中间区域。仅 Webview 支持},{mode:left,text:left: 裁剪模式不缩放图片只显示图片的左边区域。仅 Webview 支持},{mode:right,text:right: 裁剪模式不缩放图片只显示图片的右边区域。仅 Webview 支持},{mode:top left,text:top left: 裁剪模式不缩放图片只显示图片的左上边区域。仅 Webview 支持},{mode:top right,text:top right: 裁剪模式不缩放图片只显示图片的右上边区域。仅 Webview 支持},{mode:bottom left,text:bottom left: 裁剪模式不缩放图片只显示图片的左下边区域。仅 Webview 支持},{mode:bottom right,text:bottom right: 裁剪模式不缩放图片只显示图片的右下边区域。仅 Webview 支持}]}})4.3 页面样式 index.wxsspage{height:100vh;display:flex;flex-direction:column;}.scrollarea{flex:1;overflow-y:hidden;}.img-layout{text-align:center;margin-top:20rpx;margin-bottom:40rpx;}image{width:480rpx;height:480rpx;background-color:#eee;}.mode-no{font-size:28rpx;color:#333;margin-top:20rpx;font-weight:bold;}.mode-text{font-size:28rpx;color:#333;margin-top:10rpx;line-height:1.5;}4.4 全局样式 app.wxss.box{margin:20rpx;padding:20rpx;border:2rpx solid silver;}.title{font-size:40rpx;font-weight:bolder;text-align:center;margin-bottom:30rpx;color:red;}五、功能扩充添加显示模式编号在基本功能的基础上为了更清晰地标识每一种显示模式在文字说明上方增加了图片显示模式的编号。利用wx:for自带的索引变量index从 0 开始通过{{index 1}}即可显示从 1 开始的编号viewclassmode-no显示模式编号{{index 1}}/viewviewclassmode-text{{item.text}}/view效果如下显示模式编号1 scaleToFill: 缩放模式不保持纵横比缩放图片... [图片] 显示模式编号2 aspectFit: 缩放模式保持纵横比缩放图片... [图片] ...六、14 种显示模式效果对比编号模式类型说明1scaleToFill缩放不保持纵横比拉伸填满2aspectFit缩放保持纵横比长边完整显示3aspectFill缩放保持纵横比短边完整显示4widthFix缩放宽度固定高度自适应5heightFix缩放高度固定宽度自适应6top裁剪显示顶部区域7bottom裁剪显示底部区域8center裁剪显示中间区域9left裁剪显示左边区域10right裁剪显示右边区域11top left裁剪显示左上区域12top right裁剪显示右上区域13bottom left裁剪显示左下区域14bottom right裁剪显示右下区域七、总结通过本案例我们学习了image 组件的 14 种显示模式5 种缩放模式 9 种裁剪模式掌握了每种模式的适用场景。列表渲染 wx:for通过遍历数组高效地渲染重复结构避免冗余代码。数据绑定使用{{}}语法将src、mode、text等数据动态绑定到视图。自定义导航栏通过自定义navigation-bar组件实现个性化导航栏。渲染引擎配置裁剪模式需要webview渲染引擎支持需在app.json中配置。scroll-view 滚动使用scroll-view组件实现页面区域的滚动。image组件的显示模式是小程序开发中的基础知识合理选择显示模式可以让图片在不同尺寸的容器中呈现最佳效果。希望本文能帮助你更好地理解和运用image组件。

相关推荐

APP定制开发避坑全指南:从需求、技术选型到交付验收全程踩坑总结
APP定制开发避坑全指南:从需求、技术选型到交付验收全程踩坑总结

很多企业、初创团队在做定制APP开发时,大概率都会踩坑:需求反复变更、开发报价虚高、代码套模板、无源码交付、售后断层、项目烂尾。大部分非技术负责人很难分辨外包团队的真实水平,只能靠报价和口头承诺做判断。本人经手过数十套行业APP定制… · 2026/9/24 12:40:36

用Cadence Virtuoso搭建晶体管级CMOS全加器:从反相器到仿真验证
用Cadence Virtuoso搭建晶体管级CMOS全加器:从反相器到仿真验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 12:40:29

USB 3.0 xHCI 控制器报错代码 10/39/43 排查与修复指南
USB 3.0 xHCI 控制器报错代码 10/39/43 排查与修复指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 12:40:29

PolyWorks MS 2020加密狗版安装全攻略:Win10/11驱动与避坑指南
PolyWorks MS 2020加密狗版安装全攻略:Win10/11驱动与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 13:13:49

Python实现根据关键词查找词汇
Python实现根据关键词查找词汇

聚典平台整合了《辞海》《汉语大词典》等权威工具书,通过标准化API向授权方开放数据。其接口基本地址为 https://api.jdapi.com/api/v2/search。以下是 Python 调用示例:pythonimport requestsimport json# 注意:这些凭证需要向聚典平台申请获… · 2026/9/24 13:13:49

模拟匹配滤波:时间对齐的物理实现与工程落地
模拟匹配滤波:时间对齐的物理实现与工程落地

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 13:13:49

FT232RL模块设计全指南:从芯片原理到EMC可靠量产
FT232RL模块设计全指南:从芯片原理到EMC可靠量产

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 13:13:42

FPGA接收高速ADC的LVDS帧对齐:Bitslip原理与三种实现策略
FPGA接收高速ADC的LVDS帧对齐:Bitslip原理与三种实现策略

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 13:13:42

2026户外监控推荐:太阳能4G监控两大底层技术标准出炉——AOV低功耗+AI人形甄别,格行视精灵领跑垂直赛道
2026户外监控推荐:太阳能4G监控两大底层技术标准出炉——AOV低功耗+AI人形甄别,格行视精灵领跑垂直赛道

2026户外监控哪个牌子好?工程安防、家用消费级、垂直户外专精三条赛道——无全能型产品,场景适配优先2026年,无电无网野外安防需求持续扩容,太阳能4G户外监控已成为民用安防核心增量品类。但行业产品同质化严重、参数虚标、技术缩… · 2026/9/24 13:13:42

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码