全局取色,手写笔服务让精准配色“一触即达”

在设计、绘画或文档编辑等工作中,颜色的一致性非常重要。通过精确取色,用户可以实现更专业的视觉效果,尤其是在需要高度精确的颜色匹配的场景中,如品牌设计、广告制作等。传统取色工具需通过复杂的调色板选择或手动输入色值代码,操作繁琐且易出错。开发者则面临调色算法自研成本高、多端适配逻辑复杂等痛点。

为了精确地获取屏幕上的颜色,HarmonyOS SDK手写笔服务(Pen Kit)推出了"全局取色"功能,适应多种使用场景,为用户提升创作和工作的效率与质量。

接入全局取色功能,用户可以使用手指或者手写笔操作取色器在屏幕上移动,在目标位置抬起手指/抬起手写笔,会生成该位置色值对应的图像信息。

应用场景

  • 数字艺术创作

在绘画软件中创作时,悬停笔尖一键提取参考图(如Pinterest网页、相册照片)的复杂渐变色,直接应用于画布,避免手动调色误差。

  • 教育领域

教师可以在课堂上更方便地使用不同颜色进行板书演示,帮助学生更好地理解和记忆知识点。

  • 日常办公

普通用户在会议中进行笔记记录时,可以使用全局取色功能,使笔记更加生动有趣。

开发步骤

1.导入相关模块。

import { imageFeaturePicker } from '@kit.Penkit';
import { BusinessError } from '@kit.BasicServicesKit';

2.构造全局取色能力。

@Entry
@Component
struct Index {
  @State message: string = 'Hello World';

  build() {
    Stack({ alignContent: Alignment.Center }) {
      Column() {
        Row() {
          Button() {
            Text('Call GlobalColorPicker from ets side')
              .fontSize(18)
              .fontWeight(FontWeight.Normal)
          }
          .width('50%')
          .height('60vp')
          .align(Alignment.Center)
          .onClick((event) => {
            imageFeaturePicker.pickForResult(event.displayX, event.displayY)
              .then((colorInfo: imageFeaturePicker.PickedColorInfo) => {
                if (colorInfo) {
                  console.info('colorInfo=' + JSON.stringify(colorInfo));
                }
              }).catch((err: BusinessError) => {
              console.error(`pickForResult failed. Code is ${err.code}, message is ${err.message}`)
            })
          })
        }
      }
      .align(Alignment.Center)
    }
    .width('100%')
    .height('100%')
  }
}

了解更多详情>>

访问手写笔服务官网

获取全局取色开发指导文档

posted @ 2025-11-24 17:22  HarmonyOS_SDK  阅读(8)  评论(0)    收藏  举报