在設計、繪畫或文檔編輯等工作中,顏色的一致性非常重要。通過精確取色,用户可以實現更專業的視覺效果,尤其是在需要高度精確的顏色匹配的場景中,如品牌設計、廣告製作等。傳統取色工具需通過複雜的調色板選擇或手動輸入色值代碼,操作繁瑣且易出錯。開發者則面臨調色算法自研成本高、多端適配邏輯複雜等痛點。
為了精確地獲取屏幕上的顏色,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%')
}
}
瞭解更多詳情\>\>
訪問手寫筆服務官網
獲取全局取色開發指導文檔