news 2026/5/1 21:19:28

canvas取色获取指定位置的颜色

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
canvas取色获取指定位置的颜色

canvas具有强大的画图功能,不仅如此,也能方便的操作图片。现在来演示一下如何获取图片上指定坐标的颜色。

效果预览https://huatuya.com

一、代码

ps:这里注意的是canvas的getImageData本地会有跨域异常Tainted canvases may not be exported,需要在线上测试。

原理:利用getImageData 获取指定位置的像素,通过像素拿到颜色。会在页面生成canvas元素,建议利用id进行复用。

<img :src="currentImg.src" @click="getBgColor"/> data{ return (){ imgColor:"", currentImg{ src:"", id:"" } } } getBgColor(e) { var x = e.layerX; var y = e.layerY; // 加载并显示图像到canvas上 var img = new Image(); img.src = this.currentImg.src; let _this = this; let classId = "quse" + _this.currentImg.id; img.onload = function () { // 创建一个新的canvas元素 var canvas = document.querySelector("#" + classId);//注意:querySelector能获取到display:none的元素 if (!canvas) { canvas = document.createElement("canvas"); canvas.setAttribute("id", classId); //添加样式属性 document.body.appendChild(canvas); canvas.setAttribute("style", "display:none"); //隐藏掉canvas } // 设置canvas大小与要处理的图像相同 canvas.width = img.width; // 这里需要将imageWidth替换为实际图像的宽度 canvas.height = img.height; // 这里需要将imageHeight替换为实际图像的高度 // 获取2D上下文对象 var context = canvas.getContext("2d"); context.drawImage(img, 0, 0); // 将图像绘制到canvas上 // 从canvas上读取指定位置的像素数据 var pixelData = context.getImageData(x, y, 1, 1).data;//getImageData来获取指定地点的像素数据 // 提取RGB分量的值 var redValue = pixelData[0]; var greenValue = pixelData[1]; var blueValue = pixelData[2]; console.log("红色分量:" + redValue); console.log("绿色分量:" + greenValue); console.log("蓝色分量:" + blueValue); _this.imgColor = "rgb(" + redValue + "," + greenValue + "," + blueValue + ")"; }; },

canvas取色获取指定位置的颜色https://daimane.com/code/html/1711635132541.html

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 21:19:27

《{书名}》读书笔记

《{书名}》读书笔记 【免费下载链接】wereader 一个浏览器扩展&#xff1a;主要用于微信读书做笔记&#xff0c;对常使用 Markdown 做笔记的读者比较有帮助。 项目地址: https://gitcode.com/gh_mirrors/wer/wereader 作者&#xff1a;{作者} 导出时间&#xff1a;{时间…

作者头像 李华
网站建设 2026/5/1 21:08:13

VirtualBox 创建虚拟机并安装 Ubuntu 系统详细指南

VirtualBox 创建虚拟机并安装 Ubuntu 系统详细指南一、准备工作1. 下载 Ubuntu 镜像2. 安装 VirtualBox二、创建虚拟机1. 新建虚拟机2. 分配内存3. 创建虚拟硬盘三、配置虚拟机1. 加载 Ubuntu 镜像2. 调整处理器核心数&#xff08;可选&#xff09;3. 启用 3D 加速&#xff08;…

作者头像 李华
网站建设 2026/5/1 21:06:57

Midscene.js终极指南:如何用AI视觉模型实现跨平台UI自动化

Midscene.js终极指南&#xff1a;如何用AI视觉模型实现跨平台UI自动化 【免费下载链接】midscene AI-powered, vision-driven UI automation for every platform. 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene 你是否厌倦了传统的UI自动化工具&#xff…

作者头像 李华
网站建设 2026/5/1 21:05:56

10大LLM推理优化技术:从理论到实践的终极指南

10大LLM推理优化技术&#xff1a;从理论到实践的终极指南 【免费下载链接】Awesome-LLM Awesome-LLM: a curated list of Large Language Model 项目地址: https://gitcode.com/GitHub_Trending/aw/Awesome-LLM Large Language Models (LLM) 已席卷全球&#xff0c;为自…

作者头像 李华