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

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、结果

相关推荐
云云只是个程序马喽1 分钟前
海外短剧系统开发核心功能设计及上线材料准备
小程序·php
2501_9160074719 分钟前
iOS与Android符号还原服务统一重构实践总结
android·ios·小程序·重构·uni-app·iphone·webview
fanruitian21 分钟前
微信小程序 springboot获取手机号
spring boot·微信小程序·notepad++
全栈软件开发26 分钟前
最新壁纸头像小程序系统源码 带流量主
小程序
00后程序员张2 小时前
fastlane 结合 appuploader 命令行实现跨平台上传发布 iOS App
android·ios·小程序·https·uni-app·iphone·webview
2501_915106323 小时前
iOS 性能优化这件事,结合多工具分析运行期性能问题
android·ios·性能优化·小程序·uni-app·cocoa·iphone
鲁Q同志3 小时前
微信小程序调用上一页的方法(主包,分包)
微信小程序·小程序
风月歌3 小时前
小程序项目之基于微信小程序的高校课堂教学管理系统源代码(源码+文档)
java·微信小程序·小程序·毕业设计·源码
嘿siri3 小时前
自定义app端、小程序端和H5等多端自定义键盘输入框,跟随系统键盘弹出和隐藏
javascript·小程序·uni-app·uniapp
小小王app小程序开发3 小时前
2025 陪诊小程序趋势:健康管理延伸 + B 端生态共建
小程序