当前位置:首页 > uni-app

uniapp 图像显示

2026-02-05 23:55:27uni-app

图像显示方法

在UniApp中显示图像可以使用<image>组件,该组件支持本地图片和网络图片的显示。

<image src="/static/logo.png" mode="aspectFit"></image>

src属性指定图片路径,可以是相对路径、绝对路径或网络URL。mode属性控制图片的显示模式,常用值包括aspectFit(保持宽高比,完整显示图片)、aspectFill(保持宽高比,填充容器)和scaleToFill(拉伸填充)。

动态绑定图片路径

图片路径可以通过数据绑定动态设置。

<template>
  <image :src="imageUrl" mode="widthFix"></image>
</template>

<script>
export default {
  data() {
    return {
      imageUrl: 'https://example.com/image.jpg'
    }
  }
}
</script>

图片懒加载

对于长列表中的图片,可以使用lazy-load属性实现懒加载,提升页面性能。

<image 
  src="https://example.com/image.jpg" 
  lazy-load 
  mode="aspectFill"
></image>

图片预览功能

通过@click事件触发图片预览,调用uni.previewImageAPI。

<image 
  src="/static/photo.jpg" 
  mode="aspectFit" 
  @click="previewImage('/static/photo.jpg')"
></image>

<script>
export default {
  methods: {
    previewImage(url) {
      uni.previewImage({
        urls: [url],
        current: 0
      })
    }
  }
}
</script>

处理图片加载失败

通过@error事件捕获图片加载失败情况,显示占位图。

<image 
  :src="imageUrl" 
  mode="aspectFit" 
  @error="handleImageError"
></image>

<script>
export default {
  data() {
    return {
      imageUrl: 'https://example.com/image.jpg',
      placeholder: '/static/placeholder.png'
    }
  },
  methods: {
    handleImageError() {
      this.imageUrl = this.placeholder
    }
  }
}
</script>

图片裁剪与压缩

上传图片时可以使用uni.chooseImage配合uni.compressImage进行压缩处理。

uniapp 图像显示

uni.chooseImage({
  count: 1,
  success: (res) => {
    const tempFilePath = res.tempFilePaths[0]
    uni.compressImage({
      src: tempFilePath,
      quality: 80,
      success: (compressedRes) => {
        console.log(compressedRes.tempFilePath)
      }
    })
  }
})

注意事项

  • 网络图片需要配置域名白名单,在manifest.json中设置networkTimeoutsecureNetwork
  • 图片路径区分开发环境和生产环境,建议使用绝对路径
  • 大图片建议进行压缩处理,避免内存问题
  • 不同平台对图片格式的支持可能有差异,推荐使用JPEG或PNG格式

标签: 图像uniapp
分享给朋友:

相关文章

uniapp 推送

uniapp 推送

uniapp 推送实现方法 uniapp 推送功能可以通过多种方式实现,主要包括使用第三方推送服务、原生插件或云服务。以下是几种常见的实现方案: 使用 UniPush 服务 UniPush 是 D…

uniapp 后门

uniapp 后门

关于 uniapp 后门的问题,目前没有权威证据表明 uniapp 官方存在故意植入后门的行为。但作为开发者,需注意以下安全实践: 检查第三方插件和依赖 确保项目中使用的第三方插件来源可靠,定期更新…

任务 uniapp

任务 uniapp

uniapp 简介 Uniapp 是一款基于 Vue.js 的跨平台开发框架,支持一次开发,多端发布(如微信小程序、H5、App、快应用等)。其核心优势在于代码复用率高,开发者可以通过一套代码适配多个…

介绍uniapp

介绍uniapp

Uniapp 概述 Uniapp 是一款基于 Vue.js 的跨平台开发框架,允许开发者使用一套代码同时生成 iOS、Android、Web 以及小程序应用。其核心优势在于高效开发和代码复用,大幅降低…

uniapp 日志

uniapp 日志

uniapp 日志管理方法 uniapp本身没有内置日志系统,但可以通过以下方式实现日志记录功能: 使用console.log输出日志 开发阶段可以直接使用console.log()、console…

uniapp 成功案例

uniapp 成功案例

成功案例概览 UniApp 凭借跨平台开发能力,已被多个行业采用,涵盖电商、社交、教育、政务等领域。以下为部分典型案例: 京东拼购 京东拼购(现为“京喜”)采用 UniApp 开发,实现微信小程序、…