首页 > 其他分享 >记~vue3中ColorThief的介绍与使用

记~vue3中ColorThief的介绍与使用

时间:2024-12-20 17:30:55浏览次数:4  
标签:const img color 50px ColorThief 介绍 vue3 ref

安装 npm i colorthief

 

效果

 

代码

<template>
  <div>
    <img ref="image" src="@/assets/img/no-message.png" alt="示例图片">
    <button @click="getColorPalette">获取颜色</button>
    <div>主色调</div>
    <br/>
    <div class="color" :style="{ background: color }"></div>
    <br/>
    <div>调色板</div>
    <ul>
      <li v-for="color in colorPalette" :key="color" :style="{ background: color }">
        {{ color }}
      </li>
    </ul>
  </div>
</template>

<script setup>
import { ref } from 'vue'
import ColorThief from 'colorthief';

const image = ref(null);
const colorPalette = ref([]);
const color = ref('')


const getColorPalette = () => {
  const img = image.value;
  const colorThief = new ColorThief();
  if (img) {
    const mainColor = colorThief.getColor(img);//主色调
    color.value = `rgb(${mainColor[0]}, ${mainColor[1]}, ${mainColor[2]})`
    const palette = colorThief.getPalette(img);//获取调色板
    colorPalette.value = palette.map(([r, g, b]) => `rgb(${r}, ${g}, ${b})`);
  }
};
</script>

<style lang="scss" scoped>
.color {
  width: 50px;
  height: 50px;
}
ul {
  list-style: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}

li {
  width: 50px;
  height: 50px;
  margin: 5px;
  border-radius: 5px;
}
</style>
View Code

 

官网 https://lokeshdhakar.com/projects/color-thief/

详细教程推荐参考

https://blog.csdn.net/qq_64546210/article/details/144011160

https://blog.csdn.net/m0_46281382/article/details/142087154

标签:const,img,color,50px,ColorThief,介绍,vue3,ref
From: https://www.cnblogs.com/yflbk-2016/p/18619668

相关文章

  • Vue3——CompositionAPI(组合式API)
    一、CompositionAPI(组合式API)OptionsAPI:选项式API,这是Vue2的用法,其中将数据、方法和计算属性都是分散在data、methods、computed等版块中,不便于维护和复用CompositionAPI:组合式API,这是Vue3的用法,是用函数的方法将相关功能的代码更加有序地组合在一起,相当于一个函数里面包含了数......
  • UEFI基本逻辑与接口介绍
    背景所以需要对这块比较新的技术进行学习。在学习之前,有必要了解一下高通UEFI启动流程。原文(有删改):https://blog.csdn.net/Ciellee/article/details/113519478参考文档:80_P2484_117_B_UEFI_With_XBL_On_MSM8998_SDM660_SDM总览先来看下SDM660芯片冷启动的流程。可以看出,在设......
  • html中使用vue3+element-plus
    <!DOCTYPEhtml><html> <head> <metacharset="utf-8"> <title></title> <!--本地引用--> <!--<linkrel="stylesheet"href="css/element-plus.css"/> <scriptsrc=&qu......
  • vue3.5.13 + vite6.0.1搭建前端项目的配置文件
    main.js//vue版本为3.5.13import{createApp}from'vue'import'./style.css'importAppfrom'./App.vue'import'element-plus/dist/index.css'importrouterfrom'./router/index'constapp=createApp(App)......
  • SpringBoot3+Vue3开发在线考试系统
    项目介绍项目分为3种角色,分别为:超级管理员、老师、学生。超级管理员,负责系统的设置、角色的创建、菜单的管理、老师的管理等功能,也可以叫做系统管理员;老师角色,负责系统业务的管理,包括学生管理、班级管理、试题管理、试卷管理、查看考试情况等功能;学生角色,使用系统进行在线......
  • golang单元测试和mock框架的介绍和推荐
    背景介绍:探索golang的单元测试框架,看一下哪种框架是结合业务体验更好的。推荐和不推荐使用的框架,我都会在标题中标注出来,没有标注的表示体验一般,但也没有特别的缺点,观望态度单元测试框架介绍原生testing示例funcTestModifyArr(t*testing.T){ arr:=[3]int{0,1,2}......
  • fastq和fastqc测序格式介绍 | 生物专业最值得看的哈佛生信笔记01
    测序技术简介第一代测序技术,即Sanger测序,通过在四条不同的车道上进行反应,最终确定DNA序列。目前主流的第二代测序技术,即lllumina的测序技术,通过在玻璃片上进行大规模平行测序,实现快速、高效的DNA测序。第三代测序技术,虽然目前还处于原型阶段,但具有单分子测序的潜......
  • vue3+vant-ui 上传头像,base64文件流上传及回显
    1<scriptsetup>2import{onMounted,reactive}from"vue";3import{useRouter}from"vue-router";4importrequestfrom'@/utils/request';5import{removeEmptyProps,generatehashcode}from'@/utils/......
  • 【2025】基于springboot+vue3的在线考试系统源码设计
    目录一、整体目录(示范):文档含项目技术介绍、E-R图、数据字典、项目功能介绍与截图等二、运行截图三、代码部分(示范):四、数据库表(示范):数据库表有注释,可以导出数据字典及更新数据库时间,欢迎交流学习五、主要技术介绍:六、项目调试学习(点击查看)七、项目交流一、教育信......
  • OpenAi 大模型生态体系介绍
    OpenApi大模型家族介绍模型概览多模态大模型能够理解和生成自然语言或代码+理解图像+生成图像等GPT-4是一个大型多模态模型(接受文本或图像输入并输出文本),它可以比我们以前的任何模型都更准确地解决难题这得益于它更广泛的通用知识和更高级的推理能力。GPT-4可在OpenAIAPI中......