imageColorParser

来自于:开发者立即使用

概述

智能图片颜色解析器.智能解析图片主体颜色,以实现类似 iTunes 般的细腻精致设计. imageColorParser 适用于对图片本身特征比较侧重的设计场景,能足够智能地解析出不同图片不同的颜色侧重点.

目前细分: background(背景色,常用于整体背景), primary(主体颜色,常用于标题), secondary(第二主体颜色,常用于副标题), detail(细节颜色,常用于不需要特殊突出的元素).

本模块暂仅支持 iOS 8+

parse

异步解析.后台解析,性能最高.

parse({params}, callback(ret))

params

img:

  • 类型:字符串
  • 描述:图片路径.支持 widget:// , fs:// 等本地路径.支持png、jpg等图片.

size:

  • 类型:JSON 对象.
  • 描述:图片尺寸.不需要与图片真实尺寸一致.用于控制图片缩放级别.越小,则解析性能越高;越大,则解析的颜色值更准确.
  • 默认值:如果 w 和 h 都不传,则 w 默认为250, h 等比缩放.如果只传w,则h默认与w相同;如果只传h,则 w 默认与 h 相同.
  • 内部字段:
{
  w: 250, 
  h: 420,
}

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   // 布尔类型;操作成功状态值,true| false
    msg: ''         // 字符串类型;错误描述,仅当 status 为 false 时有值
    background: "rgba(0,0,0,0,0)",
    primary: "rgba(0,0,0,0,0)",
    secondary: "rgba(0,0,0,0,0)",
    detail: "rgba(0,0,0,0,0)"
}

示例代码

var imageColorParser = api.require('imageColorParser');

imageColorParser.parse({
    img: 'widget://image/imageColorParser/test.png', /* 请保证此路径对应的图片真实存在. */
}, function(ret){
    if(ret.status){
        alert(JSON.stringify(ret));
    }else{
        alert(ret.msg);
    }
});

可用性

iOS 系统

可提供的 1.0.0 及更高版本

补充说明

仅适用于 iOS 8+ 以上的系统.

parseSync

同步解析. 频繁调用或图片过大时,可能会引起 App 卡顿.

parseSync({params})

params

img:

  • 类型:字符串
  • 描述:图片路径.支持 widget:// , fs:// 等本地路径.支持png、jpg等图片.

size:

  • 类型:JSON 对象.
  • 描述:图片尺寸.不需要与图片真实尺寸一致.用于控制图片缩放级别.越小,则解析性能越高;越大,则解析的颜色值更准确.
  • 默认值:如果 w 和 h 都不传,则 w 默认为250, h 等比缩放.如果只传w,则h默认与w相同;如果只传h,则 w 默认与 h 相同.
  • 内部字段:
{
  w: 250, 
  h: 420,
}

return

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   // 布尔类型;操作成功状态值,true| false
    msg: ''         // 字符串类型;错误描述,仅当 status 为 false 时有值
    background: "rgba(0,0,0,0,0)",
    primary: "rgba(0,0,0,0,0)",
    secondary: "rgba(0,0,0,0,0)",
    detail: "rgba(0,0,0,0,0)"
}

示例代码

var imageColorParser = api.require('imageColorParser');

var ret = imageColorParser.parseSync({
    img: 'widget://image/imageColorParser/test.png', /* 请保证此路径对应的图片真实存在. */
});

if(ret.status){
    alert(JSON.stringify(ret));
}else{
    alert(ret.msg);
}

可用性

iOS 系统

可提供的 1.0.0 及更高版本

补充说明

仅适用于 iOS 8+ 以上的系统.