当前位置: 首页 > news >正文

htnl根据轮播图图片切换背景色

htnl根据轮播图图片切换背景色

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>轮播图示例</title><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@10/swiper-bundle.min.css" /><script src="https://cdn.jsdelivr.net/npm/swiper@10/swiper-bundle.min.js"></script><style>.swiper-container {width: 80%;height: 300px;overflow: hidden;}.swiper-slide {width: 100%;height: 100%;background-size: cover;background-position: center;}</style>
</head><body><div class="swiper-container"><div class="swiper-wrapper"><div class="swiper-slide" style="background-image: url(./img/1.png);"></div><div class="swiper-slide" style="background-image: url(./img/2.png);"></div><div class="swiper-slide" style="background-image: url(./img/3.png);"></div></div></div><script>// 获取轮播图容器const swiperContainer = document.querySelector('.swiper-container');// 初始化 Swiper 实例const swiper = new Swiper(swiperContainer, {autoplay: true,loop: true,on: {slideChangeTransitionEnd: function () {// 获取当前轮播图的背景图片 URLconst currentSlide = this.slides[this.activeIndex];const backgroundImage = currentSlide.style.backgroundImage;// 创建一个 Image 对象const img = new Image();img.src = backgroundImage.slice(5, -2);// 等待图片加载完成img.onload = function () {// 创建一个 Canvas 元素const canvas = document.createElement('canvas');canvas.width = img.width;canvas.height = img.height;// 在 Canvas 上绘制图片const ctx = canvas.getContext('2d');ctx.drawImage(img, 0, 0);// 获取图片的像素数据const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);const colors = {};for (let i = 0; i < imageData.data.length; i += 4) {const r = imageData.data[i];const g = imageData.data[i + 1];const b = imageData.data[i + 2];const color = `${r},${g},${b}`;if (colors[color]) {colors[color]++;} else {colors[color] = 1;}}const dominantColor = Object.keys(colors).reduce((a, b) => colors[a] > colors[b] ? a : b);// 设置页面背景色document.body.style.backgroundColor = `rgb(${dominantColor})`;};}}});</script>
</body></html>
http://www.lryc.cn/news/117507.html

相关文章:

  • gpu-manager安装及测试
  • Go和Java实现享元模式
  • Zookeeper特性与节点数据类型详解
  • 函数的递归
  • Android T 窗口层级其二 —— 层级结构树的构建(更新中)
  • ASIC芯片设计全流程项目实战课重磅上线 ,支持 65nm制程流片 !
  • 背上沉重的书包准备run之react篇
  • LAMP及论坛搭建
  • php-cgi.exe - FastCGI 进程超过了配置的请求超时时限
  • linux系统虚拟主机开启支持SourceGuardian(sg11)加密组件
  • 让我们一起探讨汽车充电桩控制主板的应用
  • Gartner发布《2023年全球RPA魔力象限》:90%RPA厂商,将提供生成式AI自动化
  • springboot整合JMH做优化实战
  • 利用ffmpeg分析视频流
  • 基于kettle实现pg数据定时转存mongodb
  • 使用 POI 在 Word 中重新开始编号、自定义标题格式
  • 【java】default/private/public/protected比较
  • 面试热题(最长上升子序列)
  • Vue 简版文件预览笔记
  • 数据结构--栈和队列
  • 泰国的区块链和NFT市场调研
  • 精彩回顾 | D-Day深圳 上海站:高频策略研发再提速
  • 新法!《个人信息保护合规审计管理办法(征求意见稿)》解读
  • 南大通用数据库-Gbase-8a-学习-37-delete误删数据恢复方法
  • 【高光谱图像的去噪算法】通过全变异最小化对受激拉曼光谱图像进行去噪研究(Matlab代码实现)
  • UEditorPlus v3.3.0 图片上传压缩重构,UI优化,升级基础组件
  • 百度翻译API整合SpringBoot
  • Spring @Primary、@Order、JSR @Priority作用与区别
  • 【Mac】mac 系统下格式化U盘或移动硬盘为ext4格式
  • ubuntu20.4 sgx环境配置