当前位置:首页 > 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(拉伸填充)。

动态绑定图片路径

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

uniapp 图像显示

<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。

uniapp 图像显示

<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进行压缩处理。

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中处理请求超时可以通过多种方式实现,以下是几种常见的处理策略: 设置全局请求超时时间 在main.js中配置全局请求超时时间,适用于所有请求: uni…

uniapp中如何引用echarts

uniapp中如何引用echarts

在uniapp中引用echarts uniapp中引用echarts可以通过原生方式或第三方插件实现,以下是具体方法: 使用原生echarts 安装echarts依赖 在项目根目录下执行命令:…

uniapp编译结果

uniapp编译结果

uniapp编译结果 uniapp的编译结果会根据目标平台不同而生成不同的输出文件。以下是主要平台的编译结果说明: H5平台 编译后会生成一个/dist/build/h5目录,包含标准的HTML5应…

怎么运行uniapp

怎么运行uniapp

运行 UniApp 的步骤 安装开发环境 确保已安装 Node.js(建议 LTS 版本),通过命令行验证安装: node -v npm -v 全局安装 Vue CLI 工具: npm inst…

uniapp 自动打包

uniapp 自动打包

uniapp 自动打包方法 uniapp 支持通过命令行或 CI/CD 工具实现自动化打包,适用于 H5、小程序、App 等平台。以下是常见的自动打包方式: H5 或小程序打包 使用 npm ru…

uniapp 广播数据

uniapp 广播数据

使用全局事件总线进行广播 在uniapp中,可以通过全局事件总线(EventBus)实现数据的广播和监听。创建一个全局的EventBus实例,在需要的地方触发事件和监听事件。 // 在main.js…