圖像效果

2024-01-22 16:14 更新

設(shè)置組件的模糊,陰影效果以及設(shè)置圖片的圖像效果。

說明

從API Version 7開始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。

屬性

名稱

參數(shù)類型

默認(rèn)值

描述

blur

number

-

為當(dāng)前組件添加內(nèi)容模糊效果,入?yún)槟:霃剑:霃皆酱笤侥:?,?時不模糊。

取值范圍:[0, +∞)

從API version 9開始,該接口支持在ArkTS卡片中使用。

backdropBlur

number

-

為當(dāng)前組件添加背景模糊效果,入?yún)槟:霃?,模糊半徑越大越模糊,?時不模糊。

取值范圍:[0, +∞)

從API version 9開始,該接口支持在ArkTS卡片中使用。

shadow

{

radius: number | Resource,

color?: Color | string | Resource,

offsetX?: number | Resource,

offsetY?: number | Resource

}

-

為當(dāng)前組件添加陰影效果。

入?yún)槟:霃?必填)、陰影的顏色(可選,默認(rèn)為灰色)、X軸的偏移量(可選,默認(rèn)為0),Y軸的偏移量(可選,默認(rèn)為0),偏移量單位為px。

從API version 9開始,該接口支持在ArkTS卡片中使用。

grayscale

number

0.0

為當(dāng)前組件添加灰度效果。值定義為灰度轉(zhuǎn)換的比例,入?yún)?.0則完全轉(zhuǎn)為灰度圖像,入?yún)t0.0圖像無變化,入?yún)⒃?.0和1.0之間時,效果呈線性變化。(百分比)

取值范圍:[0, 1]

說明:

設(shè)置小于0的值時,按值為0處理,設(shè)置大于1的值時,按值為1處理。從API version 9開始,該接口支持在ArkTS卡片中使用。

brightness

number

1.0

為當(dāng)前組件添加高光效果,入?yún)楦吖獗壤禐?時沒有效果,小于1時亮度變暗,0為全黑,大于1時亮度增加,數(shù)值越大亮度越大。

取值范圍:[0, +∞)

說明:

設(shè)置小于0的值時,按值為0處理。從API version 9開始,該接口支持在ArkTS卡片中使用。

saturate

number

1.0

為當(dāng)前組件添加飽和度效果,飽和度為顏色中的含色成分和消色成分(灰)的比例,入?yún)?時,顯示原圖像,大于1時含色成分越大,飽和度越大;小于1時消色成分越大,飽和度越小。(百分比)

從API version 9開始,該接口支持在ArkTS卡片中使用。

contrast

number

1.0

為當(dāng)前組件添加對比度效果,入?yún)閷Ρ榷鹊闹?。值?時,顯示原圖,大于1時,值越大對比度越高,圖像越清晰醒目,小于1時,值越小對比度越低,當(dāng)對比度為0時,圖像變?yōu)槿?。(百分比?/p>

取值范圍:[0, +∞)

說明:

設(shè)置小于0的值時,按值為0處理。從API version 9開始,該接口支持在ArkTS卡片中使用。

invert

number

0

反轉(zhuǎn)輸入的圖像。入?yún)閳D像反轉(zhuǎn)的比例,值為1時完全反轉(zhuǎn),值為0則圖像無變化。(百分比)

取值范圍:[0, 1]

說明:

設(shè)置小于0的值時,按值為0處理。從API version 9開始,該接口支持在ArkTS卡片中使用。

sepia

number

0

將圖像轉(zhuǎn)換為深褐色。入?yún)閳D像反轉(zhuǎn)的比例。值為1則完全是深褐色的,值為0圖像無變化。 (百分比)

從API version 9開始,該接口支持在ArkTS卡片中使用。

hueRotate

number | string

'0deg'

色相旋轉(zhuǎn)效果,輸入?yún)?shù)為旋轉(zhuǎn)角度。

取值范圍:(-∞, +∞)

說明:

色調(diào)旋轉(zhuǎn)360度會顯示原始顏色。先將色調(diào)旋轉(zhuǎn)180 度,然后再旋轉(zhuǎn)-180度會顯示原始顏色。數(shù)據(jù)類型為number時,值為90和'90deg'效果一致。

從API version 9開始,該接口支持在ArkTS卡片中使用。

colorBlend 8+

Color | string | Resource

-

為當(dāng)前組件添加顏色疊加效果,入?yún)榀B加的顏色。

從API version 9開始,該接口支持在ArkTS卡片中使用。

示例

示例1

模糊屬性的用法,blur內(nèi)容模糊,backdropBlur背景模糊。

  1. // xxx.ets
  2. @Entry
  3. @Component
  4. struct BlurEffectsExample {
  5. build() {
  6. Column({ space: 10 }) {
  7. // 對字體進(jìn)行模糊
  8. Text('font blur').fontSize(15).fontColor(0xCCCCCC).width('90%')
  9. Flex({ alignItems: ItemAlign.Center }) {
  10. Text('original text').margin(10)
  11. Text('blur text')
  12. .blur(1).margin(10)
  13. Text('blur text')
  14. .blur(2).margin(10)
  15. Text('blur text')
  16. .blur(3).margin(10)
  17. }.width('90%').height(40)
  18. .backgroundColor(0xF9CF93)
  19. // 對背景進(jìn)行模糊
  20. Text('backdropBlur').fontSize(15).fontColor(0xCCCCCC).width('90%')
  21. Text()
  22. .width('90%')
  23. .height(40)
  24. .fontSize(16)
  25. .backdropBlur(3)
  26. .backgroundImage('/pages/attrs/image/image.jpg')
  27. .backgroundImageSize({ width: 1200, height: 160 })
  28. }.width('100%').margin({ top: 5 })
  29. }
  30. }

示例2

設(shè)置圖片的效果,包括陰影,灰度,高光,飽和度,對比度,圖像反轉(zhuǎn),疊色,色相旋轉(zhuǎn)等。

  1. // xxx.ets
  2. @Entry
  3. @Component
  4. struct ImageEffectsExample {
  5. build() {
  6. Column({ space: 10 }) {
  7. // 添加陰影效果,圖片效果不變
  8. Text('shadow').fontSize(15).fontColor(0xCCCCCC).width('90%')
  9. Image($r('app.media.image'))
  10. .width('90%')
  11. .height(40)
  12. .shadow({ radius: 10, color: Color.Green, offsetX: 20, offsetY: 30 })
  13. // 灰度效果0~1,越接近1,灰度越明顯
  14. Text('grayscale').fontSize(15).fontColor(0xCCCCCC).width('90%')
  15. Image($r('app.media.image')).width('90%').height(40).grayscale(0.3)
  16. Image($r('app.media.image')).width('90%').height(40).grayscale(0.8)
  17. // 高光效果,1為正常圖片,<1變暗,>1亮度增大
  18. Text('brightness').fontSize(15).fontColor(0xCCCCCC).width('90%')
  19. Image($r('app.media.image')).width('90%').height(40).brightness(1.2)
  20. // 飽和度,原圖為1
  21. Text('saturate').fontSize(15).fontColor(0xCCCCCC).width('90%')
  22. Image($r('app.media.image')).width('90%').height(40).saturate(2.0)
  23. Image($r('app.media.image')).width('90%').height(40).saturate(0.7)
  24. // 對比度,1為原圖,>1值越大越清晰,<1值越小越模糊
  25. Text('contrast').fontSize(15).fontColor(0xCCCCCC).width('90%')
  26. Image($r('app.media.image')).width('90%').height(40).contrast(2.0)
  27. Image($r('app.media.image')).width('90%').height(40).contrast(0.8)
  28. // 圖像反轉(zhuǎn)比例
  29. Text('invert').fontSize(15).fontColor(0xCCCCCC).width('90%')
  30. Image($r('app.media.image')).width('90%').height(40).invert(0.2)
  31. Image($r('app.media.image')).width('90%').height(40).invert(0.8)
  32. // 疊色添加
  33. Text('colorBlend').fontSize(15).fontColor(0xCCCCCC).width('90%')
  34. Image($r('app.media.image')).width('90%').height(40).colorBlend(Color.Green)
  35. Image($r('app.media.image')).width('90%').height(40).colorBlend(Color.Blue)
  36. // 深褐色
  37. Text('sepia').fontSize(15).fontColor(0xCCCCCC).width('90%')
  38. Image($r('app.media.image')).width('90%').height(40).sepia(0.8)
  39. // 色相旋轉(zhuǎn)
  40. Text('hueRotate').fontSize(15).fontColor(0xCCCCCC).width('90%')
  41. Image($r('app.media.image')).width('90%').height(40).hueRotate(90)
  42. }.width('100%').margin({ top: 5 })
  43. }
  44. }

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號