Vue3等比例缩放图片组件

 

本文由 ChatMoney团队出品

有些情况我们需要在各种刁钻的情况下都要保持图片比例不变,比如用户缩放窗口等改变布局的情况。实现原理就是通过容器的宽度和内边距在保持你想要的比例。

以下是基础功能的组件示例:

<template>
    <div style="position: relative" :style="ratioStr">
        <div style="position: absolute; inset: 0px; user-select: none">
            <img
                v-if="type === 'image'"
                :src="src"
                :alt="alt || src"
                style="object-fit: cover; width: 100%; height: 100%" />
            <video
                v-else
                :src="src"
                controls
                style="object-fit: contain; width: 100%; height: 100%" />
        </div>
    </div>
</template>

<script lang="ts" setup>
const props = defineProps({
    ratio: {
        type: Array as unknown as () => [number, number],
        default: () => [1, 1],
    },
    alt: {
        type: String,
        default: "",
    },
    type: {
        type: String as () => "image" | "video",
        default: "image",
    },
    src: {
        type: String,
        default: "",
    },
});

const ratioStr = computed(() => {
    const [width, paddingBottom] = props.ratio;
    return `width: 100%;padding-bottom: ${(paddingBottom / width) * 100}%;`;
});
</script>

<style lang="scss" scoped></style>    

Vue3等比例缩放图片组件

关于我们

本文由ChatMoney团队出品,ChatMoney专注于AI应用落地与变现,我们提供全套、持续更新的AI源码系统与可执行的变现方案,致力于帮助更多人利用AI来变现,欢迎进入ChatMoney获取更多AI变现方案!

ChatMoney的头像ChatMoney
上一篇 2024年 6月 6日 下午2:15
下一篇 2024年 6月 11日 上午11:17

相关推荐

  • 提升AI绘画生成质量:探索与突破

    本文由 ChatMoney团队出品 随着人工智能技术的蓬勃发展,AI绘画生成技术已成为艺术领域的一颗璀璨新星。然而,尽管AI绘画技术在模仿人类绘画风格、创作独特艺术作品等方面取得了显著进展,但其生成的图像质量仍有待提升。本文旨在深入探讨如何提升AI绘画生成质量,以期为相关领域的研究和实践提供有益的参考。 一、现状与挑战 AI绘画生成技术利用计算机程序和算法,…

    2024年 7月 3日
    126
  • 浅谈ChatGPT模型中的惩罚机制

    本文由ChatMoney团队出品 在探讨ChatGPT模型的文本生成能力时,除了采样算法,惩罚机制同样扮演着至关重要的角色。这些机制不仅影响生成文本的多样性和创意性,还为我们提供了调整文本风格和质量的灵活手段。本文将深入探讨ChatGPT中的两种惩罚机制:频率惩罚(frequency_penalty)和存在惩罚(presence_penalty),并解释它们…

    2024年 6月 5日
    356
  • ChatGPT提示词大全:涵盖各领域的使用指南

    本文由 ChatMoney团队出品 全新的GPT-4模型带来了许多改进,使得这款聊天机器人变得更智能,更难以被欺骗。因此,如果你是那少数想要使用它的人之一,可以看看如何免费使用ChatGPT-4,然后尝试下面的提示来测试这个机器人。 一、常规ChatGPT提示词 写一篇博客文章提示词:写一篇关于【在此处插入主题】的500字博客文章。 同义词提供者提示词:我希…

    2024年 6月 27日
    114
  • PHP单例模式详解及应用

    本文由 ChatMoney团队出品 在PHP开发中,我们经常会遇到一些对象需要在整个应用程序中共享的情况。例如,数据库连接、缓存等资源。这时候,我们可以使用单例模式来确保这些资源只被创建一次,并且在程序的任何地方都可以访问到。 什么是单例模式? 单例模式(Singleton Pattern)是一种设计模式,它保证一个类只有一个实例,并提供一个全局访问点。这种…

    2024年 7月 30日
    116
  • GPT-4o:人工智能的新突破

    本文由 ChatMoney团队出品 一、引言 GPT-4o 是 OpenAI 发布的最新人工智能模型,它在 GPT-4 的基础上进行了升级,具备更强大的语言理解和生成能力。本文将详细介绍 GPT-4o 的发布内容、技术实现难度以及未来发展方向,特别是在人情感方向的探索。 二、GPT-4o 的发布内容 多模态交互:GPT-4o 能够同时处理文本、图像和音频输入…

    2024年 6月 17日
    158

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信