imagePalette

概述

imagePalette实现自动计算出任意一张图片中的主要色彩的功能,使用此插件可以方便的根据使用的图片来显示不同的UI风格,比如根据不同的背景定制不同的UI。

该插件可以提取以下6中类型颜色,若未获取某类型颜色时则返回设定的默认颜色:Vibrant (有活力), Vibrant dark(有活力 暗色), Vibrant light(有活力 亮色), Muted (柔和), Muted dark(柔和 暗色), Muted light(柔和 亮色)

本插件暂仅支持 android 平台

setImage

设置需要提取的图片资源。

setImage({params},callback(ret, err))

params

path:

  • 类型:字符串
  • 描述:图片资源路径,支持fs://、widget协议

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    msg:"success"           //布尔类型;操作成功状态值
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    msg:"failed to generate bitmap.Please make sure that your image uri is corect!"                  //字符串类型;错误描述
}

示例代码

imagePalette = api.require('imagePalette');
var param = { 'path': "widget://image/home.png" };
imagePalette.setImage(param, function(ret, error) {});

可用性

Android系统

可提供的1.0.0及更高版本

setDefaultColor

发表内容

setDefaultColor({params})

params

defaultColor:

  • 类型:字符串
  • 描述:若无法提取某一类型颜色时,返回默认颜色,支持 rgb、# 、rgba
  • 默认值:"#ffffff"

示例代码

imagePalette = api.require('imagePalette');
var paramColor = { "defaultColor": "#ffffff" };
imagePalette.setDefaultColor(paramColor);

可用性

Android系统

可提供的1.0.0及更高版本

generate

生成提取色

generate(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    vibrantColor:"#ffffff",
    lightVibrantColor:"#ffffff",
    darkVibrantColor:"#ffffff",
    mutedColor:"#000000",
    lightMutedColor:"#000000",
    darkMutedColor:"#000000",
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    msg:"can't get the Bitmap,please call setImage() first and make sure that your image uri is corect!"    //字符串类型;错误描述
}

示例代码

imagePalette = api.require('imagePalette');
var param = { 'path': "widget://image/home.png" };
imagePalette.setImage(param, function(ret, error) {
    if (!error) {
        imagePalette.generate(param, function(ret, error) {
            if (error) {
                alert(JSON.stringify(error));
            } else {
                var vibrantColor = ret.vibrantColor;
                var mutedColor = ret.mutedColor;
                var lightVibrantColor = ret.lightVibrantColor;
                var lightMutedColor = ret.lightMutedColor;
                var darkVibrantColor = ret.darkVibrantColor;
                var darkMutedColor = ret.darkMutedColor;

                // TODO use the color you get.
            }
        });
    }
});

补充说明

当setImage()调用成功后进行生成提取色。

可用性

Android系统

可提供的1.0.0及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/02/22