HarmonyOS 鸿蒙Next @ohos.effectKit Color使用

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next @ohos.effectKit Color使用

@ohos.effectKit下的Color怎么给组件的backgroundColor用,backgroundColor用的是ResourceColor

这个color :
colorPicker.getMainColor().then(color => {
console.info(‘Succeeded in getting main color.’);
console.info(color[ARGB]=${color.alpha},${color.red},${color.green},${color.blue});
}).catch(error => {
console.error(‘Failed to get main color.’);
})


更多关于HarmonyOS 鸿蒙Next @ohos.effectKit Color使用的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

你可以参考一下这个:

import image from "[@ohos](/user/ohos).multimedia.image";

import effectKit from "[@ohos](/user/ohos).effectKit";

import { resourceManager } from '[@kit](/user/kit).LocalizationKit';

[@Entry](/user/Entry)
[@Component](/user/Component)
struct Index {
 [@State](/user/State) color: string = ""

 async aboutToAppear(): Promise<void> {

   const context: Context = getContext(this);

   // 获取resourceManager资源管理

   const resourceMgr: resourceManager.ResourceManager = context.resourceManager;

   const fileData: Uint8Array = await resourceMgr.getRawFileContent('background.png');

   // 获取图片的ArrayBuffer

   const buffer = fileData.buffer as ArrayBufferLike;

   const imageSource: image.ImageSource = image.createImageSource(buffer.slice(0, buffer.byteLength));

   const pixelMap1: image.PixelMap = await imageSource.createPixelMap();

   effectKit.createColorPicker(pixelMap1, (error, colorPicker) => {

     if (error) {

       console.error('Failed to create color picker.');

     } else {

       console.info('Succeeded in creating color picker.');

       colorPicker.getMainColor().then(color => {

         this.color = `rgb(${color.red},${color.green},${color.blue})`

         console.info('Succeeded in getting main color.');

         console.info(this.color);

       })

     }

   })

 }

 build() {

   Row() {

     Text('hello')

   }.width("100%")

   .height("20%")

   .backgroundColor(this.color)

 }
}

更多关于HarmonyOS 鸿蒙Next @ohos.effectKit Color使用的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,@ohos.effectKit提供了强大的图像处理能力,其中Color类主要用于保存取色的结果。以下是对@ohos.effectKit中Color使用的专业解析:

Color类是图像效果处理中的一个关键部分,它主要用于接收从图像数据中提取的主要颜色值。这些颜色值通常包括ARGB(Alpha、Red、Green、Blue)四个通道的值,分别代表透明度、红色、绿色和蓝色。

在使用Color类之前,需要先通过effectKit的createColorPicker方法创建一个ColorPicker实例。ColorPicker实例具有从图像数据中获取主要颜色的能力。通过调用ColorPicker实例的getMainColor方法(异步或同步),可以获取到图像的主色,并将结果保存到Color对象中。

例如,使用异步方式获取图像主色并保存到Color对象的代码如下:

colorPicker.getMainColor().then(color => {
    console.info('Succeeded in getting main color.');
    console.info(`color[ARGB]=${color.alpha},${color.red},${color.green},${color.blue}`);
}).catch(error => {
    console.error('Failed to get main color.');
});

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部