博客 / 詳情

返回

全局取色,手寫筆服務讓精準配色“一觸即達”

在設計、繪畫或文檔編輯等工作中,顏色的一致性非常重要。通過精確取色,用户可以實現更專業的視覺效果,尤其是在需要高度精確的顏色匹配的場景中,如品牌設計、廣告製作等。傳統取色工具需通過複雜的調色板選擇或手動輸入色值代碼,操作繁瑣且易出錯。開發者則面臨調色算法自研成本高、多端適配邏輯複雜等痛點。

為了精確地獲取屏幕上的顏色,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%')
  }
}

瞭解更多詳情\>\>

訪問手寫筆服務官網

獲取全局取色開發指導文檔

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.