Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
46bf1eaa
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
46bf1eaa
编写于
6月 30, 2022
作者:
O
openharmony_ci
提交者:
Gitee
6月 30, 2022
浏览文件
操作
浏览文件
下载
差异文件
!6088 effect_api文档
Merge pull request !6088 from wangmike/bcheffect
上级
b796c3b0
f3dc38a5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
310 addition
and
0 deletion
+310
-0
zh-cn/application-dev/reference/apis/js-apis-effectKit.md
zh-cn/application-dev/reference/apis/js-apis-effectKit.md
+310
-0
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-effectKit.md
0 → 100644
浏览文件 @
46bf1eaa
# 图像效果
图像效果提供处理图像的一些基础能力,包括对当前图像的亮度调节、模糊化、灰度调节、智能取色等。
该模块提供以下图像效果相关的常用功能:
-
[
Filter
](
#filter
)
:效果链。
-
[
ColorPicker
](
#colorpicker
)
:智能取色器。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```
js
import
effectKit
from
'
@ohos.effectKit
'
;
```
## effectKit.createEffect
createEffect(source: image.PixelMap): Filter
通过传入的PixelMap创建Filter实例。
**系统能力:**
SystemCapability.Graphic.Graphic2D.Effectkit
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| ------- | ----------------- | ---- | -------- |
| source |
[
image.PixelMap
](
js-apis-image.md#pixelmap7
)
| 是 | image模块创建的PixelMap实例。 |
**返回值:**
| 类型 | 说明 |
| -------------------------------- | -------------- |
|
[
Filter
](
#filter
)
| 返回不带任何效果的Filter链表的头节点,失败时返回null。 |
**示例:**
```
js
import
image
from
"
@ohos.multimedia.image
"
const
color
=
new
ArrayBuffer
(
96
);
let
opts
=
{
editable
:
true
,
pixelFormat
:
3
,
size
:
{
height
:
4
,
width
:
6
}
}
image
.
createPixelMap
(
color
,
opts
)
.
then
((
pixelmap
)
=>
{
let
headFilter
=
effectKit
.
createEffect
(
pixelmap
)
})
```
## effectKit.createColorPicker
createColorPicker(source: image.PixelMap): Promise
\<
ColorPicker>
通过属性创建PixelMap,使用Promise异步回调。
**系统能力:**
SystemCapability.Graphic.Graphic2D.Effectkit
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ----------- | ---- | -------------------------- |
| source |
[
image.PixelMap
](
js-apis-image.md#pixelmap7
)
| 是 | image模块创建的PixelMap实例 |
**返回值:**
| 类型 | 说明 |
| ---------------------- | -------------- |
| Promisse
\<
[
ColorPicker
](
#colorpicker
)
> | Promise对象。返回当前创建的子窗口对象。 |
**示例:**
```
js
import
image
from
"
@ohos.multimedia.image
"
const
color
=
new
ArrayBuffer
(
96
);
let
opts
=
{
editable
:
true
,
pixelFormat
:
3
,
size
:
{
height
:
4
,
width
:
6
}
}
image
.
createPixelMap
(
color
,
opts
,
(
pixelmap
)
=>
{
effectKit
.
createColorPicker
(
pixelMap
).
then
(
colorPicker
=>
{
console
.
info
(
"
color picker=
"
+
colorPicker
);
})
.
catch
(
ex
=>
console
.
error
(
"
.error=
"
+
ex
.
toString
()))
})
})
```
## effectKit.createColorPicker
createColorPicker(source: image.PixelMap, callback: AsyncCallback
\<
ColorPicker>): void
通过属性创建PixelMap,使用callback异步回调。
**系统能力:**
SystemCapability.Graphic.Graphic2D.Effectkit
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ------------------ | ---- | -------------------------- |
| source |
[
image.PixelMap
](
js-apis-image.md#pixelmap7
)
| 是 | BGRA_8888格式的颜色数组。 |
| callback | AsyncCallback
\<
[
ColorPicker
](
#colorpicker
)
> | 是 | 回调函数,返回ColorPicker。 |
**示例:**
```
js
import
image
from
"
@ohos.multimedia.image
"
const
color
=
new
ArrayBuffer
(
96
);
let
opts
=
{
editable
:
true
,
pixelFormat
:
3
,
size
:
{
height
:
4
,
width
:
6
}
}
image
.
createPixelMap
(
color
,
opts
,
(
pixelmap
)
=>
{
effectKit
.
createColorPicker
(
pixelMap
,
(
error
,
colorPicker
)
)
{
if
(
error
)
{
console
.
log
(
'
create color picker failed.
'
);
}
else
{
console
.
log
(
'
create color picker succeeded.
'
);
}
})
})
```
## Color
颜色类,用于保存取色的结果。
**系统能力:**
SystemCapability.Graphic.Graphic2D.Effectkit
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------ | ----- | ---- | ---- | ---------------- |
| red | number | 是 | 否 | 红色分量值。 |
| green | number | 是 | 否 | 绿色分量值。 |
| blue | number | 是 | 否 | 蓝色分量值。 |
| alpha | number | 是 | 否 | 透明通道分量值。 |
## ColorPicker
取色类,用于从一张图像数据中获取它的主要颜色。在调用ColorPicker的方法前,需要先通过
[
createColorPicker
](
#effectkitcreatecolorpicker
)
创建一个ColorPicker实例。
### getMainColor
getMainColor(): Promise
\<
Color>
读取图像主色的颜色值,结果写入
[
Color
](
#color
)
里,使用Promise异步回调。
**系统能力:**
SystemCapability.Graphic.Graphic2D.Effectkit
**返回值:**
| 类型 | 说明 |
| :------------- | :---------------------------------------------- |
| Promise
\<
[
Color
](
#color
)
> | Promise实例,用于获取结果,失败时返回错误信息。 |
**示例:**
```
js
colorPicker
.
getMainColor
().
then
(
color
=>
{
console
.
log
(
'
get main color succeeded.
'
)
console
.
info
(
"
color[ARGB]=
"
+
color
.
alpha
"
,
"
+
color
.
red
+
"
,
"
+
color
.
green
+
"
,
"
+
color
.
blue
);
}).
catch
(
error
=>
{
console
.
log
(
'
get main color failed.
'
);
})
```
### getMainColorSync
getMainColorSync(): Color
读取图像主色的颜色值,结果写入
[
Color
](
#color
)
里,使用同步方式返回。
**系统能力:**
SystemCapability.Graphic.Graphic2D.Effectkit
**返回值:**
| 类型 | 说明 |
| :------- | :----------------------------------- |
|
[
Color
](
#color
)
| Color实例,用于获取结果,失败时返回null。 |
**示例:**
```
js
let
color
=
colorPicker
.
getMainColorSync
()
console
.
log
(
'
get main color =
'
+
color
)
```
## Filter
图像效果类,用于将指定的效果添加到输入图像中。在调用Filter的方法前,需要先通过
[
createEffect
](
#effectkitcreateeffect
)
创建一个Filter实例。
### blur
blur(radius: number): Filter
将模糊效果添加到效果链表中,结果返回效果链表的头节点。
**系统能力:**
SystemCapability.Graphic.Graphic2D.Effectkit
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ----------- | ---- | ------------------------------------------------------------ |
| radius | number | 是 | 模糊半径,单位是像素。模糊效果与所设置的值成正比,值越大效果越明显。 |
**返回值:**
| 类型 | 说明 |
| :------------- | :---------------------------------------------- |
|
[
Filter
](
#filter
)
| 返回效果链表头。 |
**示例:**
```
js
import
image
from
"
@ohos.multimedia.image
"
const
color
=
new
ArrayBuffer
(
96
);
let
opts
=
{
editable
:
true
,
pixelFormat
:
3
,
size
:
{
height
:
4
,
width
:
6
}
}
image
.
createPixelMap
(
color
,
opts
)
.
then
((
pixelmap
)
=>
{
let
radius
=
5
;
let
headFilter
=
effectKit
.
createEffect
(
pixelmap
)
if
(
headFilter
!=
null
)
{
headFilter
.
blur
(
radius
)
}
})
```
### brightness
brightness(bright: number): Filter
将高亮效果添加到效果链表中,结果返回效果链表的头节点。
**系统能力:**
SystemCapability.Graphic.Graphic2D.Effectkit
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ----------- | ---- | ------------------------------------------------------------ |
| bright | number | 是 | 高亮程度,取值范围在0-1之间,取值为0时图像保持不变。 |
**返回值:**
| 类型 | 说明 |
| :------------- | :---------------------------------------------- |
|
[
Filter
](
#filter
)
| 返回效果链表头。 |
**示例:**
```
js
import
image
from
"
@ohos.multimedia.image
"
const
color
=
new
ArrayBuffer
(
96
);
let
opts
=
{
editable
:
true
,
pixelFormat
:
3
,
size
:
{
height
:
4
,
width
:
6
}
}
image
.
createPixelMap
(
color
,
opts
)
.
then
((
pixelmap
)
=>
{
let
bright
=
0.5
;
let
headFilter
=
effectKit
.
createEffect
(
pixelmap
)
if
(
headFilter
!=
null
)
{
headFilter
.
brightness
(
bright
)
}
})
```
### grayscale
grayscale(): Filter
将灰度效果添加到效果链表中,结果返回效果链表的头节点。
**系统能力:**
SystemCapability.Graphic.Graphic2D.Effectkit
**返回值:**
| 类型 | 说明 |
| :------------- | :---------------------------------------------- |
| Filter | 返回效果链表头。 |
**示例:**
```
js
import
image
from
"
@ohos.multimedia.image
"
const
color
=
new
ArrayBuffer
(
96
);
let
opts
=
{
editable
:
true
,
pixelFormat
:
3
,
size
:
{
height
:
4
,
width
:
6
}
}
image
.
createPixelMap
(
color
,
opts
)
.
then
((
pixelmap
)
=>
{
let
headFilter
=
effectKit
.
createEffect
(
pixelmap
)
if
(
headFilter
!=
null
)
{
headFilter
.
grayscale
()
}
})
```
### getPixelMap
getPixelMap(): image.PixelMap
获取已添加链表效果的源图像的image.PixelMap。
**系统能力:**
SystemCapability.Graphic.Graphic2D.Effectkit
**返回值:**
| 类型 | 说明 |
| :------------- | :---------------------------------------------- |
|
[
image.PixelMap
](
js-apis-image.md#pixelmap7
)
| 已添加链表效果的源图像的image.PixelMap。 |
**示例:**
```
js
import
image
from
"
@ohos.multimedia.image
"
const
color
=
new
ArrayBuffer
(
96
);
let
opts
=
{
editable
:
true
,
pixelFormat
:
3
,
size
:
{
height
:
4
,
width
:
6
}
}
image
.
createPixelMap
(
color
,
opts
)
.
then
((
pixelmap
)
=>
{
let
pixel
=
effectKit
.
createEffect
(
pixelmap
).
grayscale
().
getPixelMap
()
})
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录