微信小程序的图片色彩分析,窃取主色调,调色板

1、在微信小程序中创建包管理器 package.json

npm init -y

2、安装 Mini App Color Thief 包

npm i --save miniapp-color-thief

3、构建 npm

4、wxml

html 复制代码
<canvas canvas-id="myCanvas"></canvas>
<button bindtap="chooseImage">chooseImage</button>
<view wx:for="{{ palette }}" wx:key="index">
  <view style="width:32px;height:32px;background-color: {{ item }}"></view>
  <text>{{ item }}</text>
</view>

5、js

javascript 复制代码
data: {
    palette: []
  },
  /*
  获取图片的色板
  colorThief(data).palette(count, quality).get(); // [[0,0,0],[0,0,0],[0,0,0]...]
    {Number} count 返回色板的颜色数量 ( 1 < count < 256 )
    {Number} quality 计算颜色的精度,默认为 10
  */
  chooseImage() {
    const ctx = wx.createCanvasContext('myCanvas')
    wx.chooseImage({
      count: 1,
      sizeType: ['original', 'compressed'],
      sourceType: ['album', 'camera'],
      success: res => {
        ctx.drawImage(res.tempFilePaths[0], 0, 0, 300, 150)
        ctx.draw(true, () => {
          wx.canvasGetImageData({
            canvasId: "myCanvas",
            x: 0,
            y: 0,
            width: 100,
            height: 100,
            success: res => {
              let palette = colorThief(res.data)
                .palette(3, 10)
                .getHex();
              this.setData({ palette })
            }
          });
        })
      }
    })
  },

6、结果

相关推荐
万岳科技系统开发2 天前
付费知识系统源码的整体架构设计与模块划分
java·数据库·小程序
2501_915921432 天前
iOS App 中 SSL Pinning 场景下代理抓包失效的原因
android·网络协议·ios·小程序·uni-app·iphone·ssl
一品威客爱开发2 天前
情绪识别技术优化客服 App 体验:让服务更贴心高效!
小程序
Brduino脑机接口技术答疑2 天前
SSVEP 脑电小程序说明
人工智能·机器学习·小程序·脑机接口
hello kitty w2 天前
1.标签定义
小程序
说私域2 天前
点状打法在电商与社群空间中的创新实践:基于开源链动2+1模式AI智能名片S2B2C商城小程序的探索
人工智能·小程序·开源
OctShop大型商城源码2 天前
免费开源大型多用户多商家小程序电商系统源码_OctShop
微信小程序·小程序·开源·小程序电商系统·多用户商城系统
2501_916008892 天前
在 Windows 上使用开心上架(Appuploader)在 Windows 环境下创建与管理 iOS 证书
android·ios·小程序·https·uni-app·iphone·webview
小白变怪兽2 天前
微信小程序页面中监听globalData数据变化
微信小程序·小程序
计算机毕设指导62 天前
基于微信小程序的烧烤店点餐和结账系统【源码文末联系】
java·spring·微信小程序·小程序·tomcat·maven·intellij-idea