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

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

 npm init -y

2、安装 Mini App Color Thief 包 

npm i --save miniapp-color-thief 

3、构建 npm

4、wxml

<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

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. 程序预先加载服务器图片

    2024-02-04 10:24:02       16 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-04 10:24:02       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-04 10:24:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-04 10:24:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-04 10:24:02       18 阅读

热门阅读

  1. 蓝桥 第三周 分治 排序

    2024-02-04 10:24:02       35 阅读
  2. 速盾:免备案网站服务器接入cdn有哪些好处

    2024-02-04 10:24:02       23 阅读
  3. ubuntu server 22.04.3 配置 wifi

    2024-02-04 10:24:02       24 阅读
  4. ubuntu22.04@laptop OpenCV安装

    2024-02-04 10:24:02       29 阅读
  5. Day11代码随想录

    2024-02-04 10:24:02       31 阅读
  6. Linux 命令行速查表

    2024-02-04 10:24:02       32 阅读