imagePalette

来自于:开发者立即使用

setImage setDefaultColor generate

概述

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对象
  • 内部字段:
  1. {
  2. msg:"success" //布尔类型;操作成功状态值
  3. }

err:

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

示例代码

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

可用性

Android系统

可提供的1.0.0及更高版本

setDefaultColor

发表内容

setDefaultColor({params})

params

defaultColor:

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

示例代码

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

可用性

Android系统

可提供的1.0.0及更高版本

generate

生成提取色

generate(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. vibrantColor:"#ffffff",
  3. lightVibrantColor:"#ffffff",
  4. darkVibrantColor:"#ffffff",
  5. mutedColor:"#000000",
  6. lightMutedColor:"#000000",
  7. darkMutedColor:"#000000",
  8. }

err:

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

示例代码

  1. imagePalette = api.require('imagePalette');
  2. var param = { 'path': "widget://image/home.png" };
  3. imagePalette.setImage(param, function(ret, error) {
  4. if (!error) {
  5. imagePalette.generate(param, function(ret, error) {
  6. if (error) {
  7. alert(JSON.stringify(error));
  8. } else {
  9. var vibrantColor = ret.vibrantColor;
  10. var mutedColor = ret.mutedColor;
  11. var lightVibrantColor = ret.lightVibrantColor;
  12. var lightMutedColor = ret.lightMutedColor;
  13. var darkVibrantColor = ret.darkVibrantColor;
  14. var darkMutedColor = ret.darkMutedColor;
  15. // TODO use the color you get.
  16. }
  17. });
  18. }
  19. });

补充说明

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

可用性

Android系统

可提供的1.0.0及更高版本