鸿蒙next版开发:ArkTS组件通用属性(图像效果)

简介: 在HarmonyOS 5.0中,ArkTS提供了丰富的图像效果属性,如阴影、灰度、高光、饱和度、对比度、图像反转、叠色、色相旋转等,极大丰富了用户界面的表现力。本文详细解读这些属性并提供示例代码。

在HarmonyOS 5.0中,ArkTS提供了丰富的图像效果属性,使得开发者可以轻松地为应用中的图像添加各种视觉效果。这些效果包括阴影、灰度、高光、饱和度、对比度、图像反转、叠色、色相旋转等,极大地丰富了用户界面的表现力。本文将详细解读ArkTS中图像效果的通用属性,并提供示例代码进行说明。

图像效果属性
阴影效果
shadow属性用于为图像添加阴影效果。它接受一个对象,包含阴影的半径、颜色、水平偏移和垂直偏移。

Image($r('app.media.image'))
.width('90%')
.height(30)
.shadow({ radius: 10, color: Color.Green, offsetX: 20, offsetY: 20 }) // 添加阴影效果
灰度效果
grayscale属性用于设置图像的灰度效果。它接受一个数值,表示灰度的程度,取值范围为0到1,越接近1,灰度越明显。

Image($r('app.media.image'))
.width('90%')
.height(30)
.grayscale(0.8) // 设置灰度效果
高亮效果
brightness属性用于调整图像的亮度。它接受一个数值,表示亮度的倍数,1为正常亮度,小于1变暗,大于1亮度增大。

Image($r('app.media.image'))
.width('90%')
.height(30)
.brightness(1.2) // 提高亮度
饱和度效果
saturate属性用于调整图像的饱和度。它接受一个数值,表示饱和度的倍数,原图为1。

Image($r('app.media.image'))
.width('90%')
.height(30)
.saturate(2.0) // 提高饱和度
对比度效果
contrast属性用于调整图像的对比度。它接受一个数值,表示对比度的倍数,1为原图,大于1值越大越清晰,小于1值越小越模糊。

Image($r('app.media.image'))
.width('90%')
.height(30)
.contrast(2.0) // 提高对比度
反转效果
invert属性用于设置图像的反转效果。它接受一个数值,表示反转的程度,取值范围为0到1。

Image($r('app.media.image'))
.width('90%')
.height(30)
.invert(0.8) // 设置反转效果
叠色效果
colorBlend属性用于为图像添加叠色效果。它接受一个颜色值,表示叠色的颜色。

Image($r('app.media.image'))
.width('90%')
.height(30)
.colorBlend(Color.Green) // 添加叠色效果
深褐色效果
sepia属性用于设置图像的深褐色效果。它接受一个数值,表示深褐色的程度。

Image($r('app.media.image'))
.width('90%')
.height(30)
.sepia(0.8) // 设置深褐色效果
色相旋转效果
hueRotate属性用于设置图像的色相旋转效果。它接受一个数值,表示色相旋转的角度。

Image($r('app.media.image'))
.width('90%')
.height(30)
.hueRotate(90) // 设置色相旋转效果
示例代码
以下是一个ArkTS图像效果的完整示例:

@Entry
@Component
struct ImageEffectsExample {
build() {
Column({ space: 5 }) {
Text('shadow').fontSize(15).fontColor(0xCCCCCC).width('90%')
Image($r('app.media.image'))
.width('90%')
.height(30)
.shadow({ radius: 10, color: Color.Green, offsetX: 20, offsetY: 20 })

  Text('grayscale').fontSize(15).fontColor(0xCCCCCC).width('90%')
  Image($r('app.media.image'))
    .width('90%')
    .height(30)
    .grayscale(0.3)

  Text('brightness').fontSize(15).fontColor(0xCCCCCC).width('90%')
  Image($r('app.media.image'))
    .width('90%')
    .height(30)
    .brightness(1.2)

  Text('saturate').fontSize(15).fontColor(0xCCCCCC).width('90%')
  Image($r('app.media.image'))
    .width('90%')
    .height(30)
    .saturate(2.0)

  Text('contrast').fontSize(15).fontColor(0xCCCCCC).width('90%')
  Image($r('app.media.image'))
    .width('90%')
    .height(30)
    .contrast(2.0)

  Text('invert').fontSize(15).fontColor(0xCCCCCC).width('90%')
  Image($r('app.media.image'))
    .width('90%')
    .height(30)
    .invert(0.2)

  Text('colorBlend').fontSize(15).fontColor(0xCCCCCC).width('90%')
  Image($r('app.media.image'))
    .width('90%')
    .height(30)
    .colorBlend(Color.Green)

  Text('sepia').fontSize(15).fontColor(0xCCCCCC).width('90%')
  Image($r('app.media.image'))
    .width('90%')
    .height(30)
    .sepia(0.8)

  Text('hueRotate').fontSize(15).fontColor(0xCCCCCC).width('90%')
  Image($r('app.media.image'))
    .width('90%')
    .height(30)
    .hueRotate(90)
}
.width('100%')
.margin({ top: 5 })

}
}

在这个示例中,我们创建了一个包含多种图像效果的列容器。通过设置不同的图像效果属性,我们可以轻松地为图像添加各种视觉效果。

图像效果的用途
图像效果在ArkTS中有多种用途,包括:

美化界面:通过为图像添加阴影、高光、饱和度等效果,可以提升应用的视觉效果。
增强用户体验:适当的图像效果可以提高应用的美观性和用户界面的层次感。
实现动画效果:结合图像效果的变化,可以实现渐变、动态变化等动画效果。
结语
通过本文的介绍,你应该对HarmonyOS 5.0中ArkTS组件的图像效果有了基本的了解。图像效果是UI开发中的重要工具,合理利用这些属性可以使你的应用界面更加美观和实用。希望本文能够帮助你在开发过程中更好地利用ArkTS的图像效果属性。
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/lbcyllqj/article/details/143645303

目录
相关文章
|
机器学习/深度学习 算法 搜索推荐
14 机器学习 - CF协同过滤推荐算法原理
14 机器学习 - CF协同过滤推荐算法原理
1119 0
|
编解码
四、ArkTS 常用组件-图片(Image)
ArkTS 常用组件-图片(Image)简介:Image 组件用于在应用中显示图片,支持本地和网络图片的加载,提供了多种参数类型如 string、Resource 和 media.PixelMap。常用属性包括图片尺寸设置(width()、height())、图片缩放模式(objectFit())及图片插值(interpolation()),确保图片在不同场景下的最佳显示效果。此外,Image 组件还支持图片资源的灵活引用方式,如通过 $r() 函数引用 resources 目录下的图片资源。
1457 2
|
数据安全/隐私保护 开发者
六、ArkTS 常用组件-按钮(Button)/切换按钮(Toggle)/文本输出(TextInput)
`Button` 组件是 HarmonyOS 应用开发中的基本组件之一,主要用于响应用户的点击操作。它支持两种使用方式:不包含子组件和包含子组件。不包含子组件时,`Button` 通过 `label` 属性设置按钮上的文字,同时提供 `options` 参数来配置按钮类型和点击效果;包含子组件的方式则允许更灵活的内容展示,如图片或复杂布局,此时无需设置 `label`。此外,`Button` 组件还提供了设置背景颜色、边框圆角等样式的方法,以及绑定点击事件的功能,使开发者能够轻松实现丰富的交互体验。
1059 0
六、ArkTS 常用组件-按钮(Button)/切换按钮(Toggle)/文本输出(TextInput)
|
开发者 UED
ArkTS响应式刷新问题高级用法
本文详细介绍了ArkTS中响应式刷新的高级用法,涵盖Refresh组件的使用、状态管理、条件渲染及精准控制组件刷新。通过实例讲解了Refresh组件的触发条件、事件处理、常用属性,以及如何利用@State、@Link和@Watch装饰器优化状态管理和组件刷新,帮助开发者构建高效、可维护的HarmonyOS应用。
1043 0
|
API UED 开发者
鸿蒙next版开发:ArkTS组件通用属性(透明度设置)
在HarmonyOS 5.0中,ArkTS引入了透明度设置属性`opacity`,允许开发者自定义组件的透明度,从而创建复杂的视觉效果和提升用户体验。本文详细解读了`opacity`属性的用法,并提供了示例代码,展示了如何在不同透明度下展示组件。透明度设置在UI开发中具有多种用途,如创建重叠效果、增强美观性和实现动画效果。
1503 7
|
缓存 并行计算 算法
《突破极限:用Python量化技术将700B参数MoE模型塞进消费级显卡》
通过量化技术,700B参数的混合专家模型(MoE)可从2.8TB显存压缩至18GB,适配单张RTX 4090显卡运行。这一突破基于三重策略:移除无效参数、分层量化与显存优化。测试显示,量化后模型在Llama 3 MoE架构上保持高性能,显存占用显著降低,推理速度媲美云端A100集群,精度仅下降1.2%。未来方向包括1-bit量化、光追加速及生物启发压缩,推动消费级硬件运行万亿参数模型的可能性。
584 1
|
UED 开发者
鸿蒙next版开发:ArkTS组件通用属性(禁用控制)
在HarmonyOS 5.0中,ArkTS引入了禁用控制属性,允许开发者控制组件的可用状态,提升用户界面的交互性和响应性。本文详细解读了ArkTS中组件的禁用控制属性,并提供了示例代码,展示了如何使用`disabled`属性来禁用按钮等可交互组件,从而防止用户误操作、引导用户流程和提升用户体验。
628 4
五、ArkTS 常用组件-文本显示 (Text / Span)
本文档介绍了ArkTS中的文本显示组件(Text/Span),包括其基本概念、参数设置、常用属性(如字体大小、粗细、颜色、对齐方式)、最大行数及超长处理方法,以及子组件Span的使用方法。Text组件支持多种参数类型,包括字符串、资源引用等,并提供了丰富的属性设置选项以满足不同的文本显示需求。Span组件则主要用于在Text组件内部实现更精细的文本格式化,如设置不同的字体颜色、大小、装饰线等,同时支持点击事件的添加。
1159 2
|
UED
鸿蒙next版开发:ArkTS组件通用属性(前景色设置)
在HarmonyOS 5.0中,ArkTS提供了丰富的组件样式设置能力,包括前景色设置。本文详细解读了ArkTS中前景色设置的通用属性,并通过示例代码展示了如何使用foregroundColor属性设置组件的前景色,从而提升界面美观性和用户体验。
688 1

热门文章

最新文章