相关问题
控制颜色渐变,实现图形图像的那种颜色渐变的效果
812浏览 • 1回复 待解决
HarmonyOS 第三方插件的最佳实践引用场景咨询
326浏览 • 2回复 待解决
【rust】有没有rust在HarmonyOS上的开发实践
1489浏览 • 1回复 待解决
使用Drawing实现图形绘制与显示
764浏览 • 1回复 待解决
HarmonyOS jsBridge 最佳实践
124浏览 • 1回复 待解决
HarmonyOS NEXT中ArkTS与Java/Kotlin的混合开发如何最佳实践?
478浏览 • 0回复 待解决
复杂页面开发的场景下,在开发中精准控制组件更新?
265浏览 • 1回复 待解决
HarmonyOS 图像裁剪的demo
211浏览 • 1回复 待解决
如何在多线程的场景下同时操作一块buffer进行图形绘制
1907浏览 • 1回复 待解决
XComponent、NativeDrawing实现2D图形绘制
941浏览 • 1回复 待解决
#鸿蒙学习大百科#大型应用模块化开发最佳实践有哪些?
233浏览 • 1回复 待解决
XComponent、openGL实现3D图形绘制
1362浏览 • 1回复 待解决
分组列表实践(嵌套列表)
924浏览 • 1回复 待解决
隐私安全页面跳转实践
2716浏览 • 1回复 待解决
web写入customUseragent最佳实践
103浏览 • 1回复 待解决
分组列表最佳实践,希望提供一个完善的分组列表最佳实践。
776浏览 • 1回复 待解决
应用内整体换肤的最佳实践
236浏览 • 1回复 待解决
网络监听的最佳实践有哪些?
344浏览 • 1回复 待解决
使用Native、XComponent和EGL绘制图形
862浏览 • 1回复 待解决
使用Drawing进行2d图像绘制
803浏览 • 1回复 待解决
HarmonyOS Image Kit 网络图像的加载
51浏览 • 1回复 待解决
.主页的开发场景中有多个Tab页展示不同内容,如何去处理?
238浏览 • 1回复 待解决
如何获取前置摄像头的预览图像
2267浏览 • 1回复 待解决
HarmonyOS 沉浸式状态栏最佳实践
196浏览 • 1回复 待解决
接入开发时,请求参数的签名、结果验签在什么场景使用?
1443浏览 • 1回复 待解决
显示图片
开发中一般使用Image组件显示图片,接口格式为Image(src: PixelMap | ResourceStr | DrawableDescriptor),可分为三类,图片资源、经过图片编码后得到的PixelMap以及API 10新增的DrawableDescriptor。
图片资源
存档图类型数据源
存档图类型的数据源可以分为本地资源、网络资源、Resource资源、媒体库datashare资源和base64。
1. 图片路径为resources/base/media
2. 还可以将图片放在rawfile文件夹下,此时图片需要加后缀名
使用picker模块可选择图库中的图片,返回图片url,用于界面上的显示
1. 调用接口获取图库照片的url
2. 从媒体库获取的url格式通常如下。
多媒体像素图
PixelMap是图片解码后的像素图,以下示例将本地rawfile文件夹下的图片解码成PixelMap格式,再显示在Image组件上。
1. 解码
2. 显示
图片的一些属性
alt: string | Resource 加载时显示的占位图,支持本地图片。
objectFit: ImageFit 设置图片的缩放类型。
名称
描述
Contain
保持宽高比进行缩小或者放大,使得图片完全显示在显示边界内。
Cover
保持宽高比进行缩小或者放大,使得图片两边都大于或等于显示边界。
Auto
自适应显示
Fill
不保持宽高比进行放大缩小,使得图片充满显示边界。
ScaleDown
保持宽高比显示,图片缩小或者保持不变。
None
保持原有尺寸显示。
opacity: number | Resource 元素的不透明度,取值范围为0到1,1表示不透明,0表示完全透明, 达到隐藏组件效果,但是在布局中占位。 默认值:1
blur: number 取值范围大于等于0,为当前组件添加内容模糊效果,入参为模糊半径,模糊半径越大越模糊,为0时不模糊。
grayscale: 为当前组件添加灰度效果。值定义为灰度转换的比例,入参1.0则完全转为灰度图像,入参则0.0图像无变化,入参在0.0和1.0之间时,效果呈线性变化。
brightness: 为当前组件添加高光效果,入参为高光比例,值为1时没有效果,小于1时亮度变暗,0为全黑,大于1时亮度增加,数值越大亮度越大。
图片解码
解码支持的文件包括png,jpeg,bmp,gif,webp,RAW。
1. 导入image模块
2. 创建ImageSource 使用image.createImageSource(src: urlString | fdNumber | arrayBuffer)创建ImageSource
3. 创建PixekMap
图片处理
利用之前解码出来的pixelMap,我们可以对图片进行一些效果处理,例如旋转、缩放、翻转等。
接口功能
API名称
设置透明度
opacity(rate: number)
缩放
scale(x: number, y: number)
平移
translate(x: number, y: number)
旋转
rotate(angle: number)
翻转
flip(horizontal: boolean, vertical: boolean)
裁剪
crop(region: Region)
示例
图片编码
1. 导入image模块
2. 打包PixelMap
生成图片
1. 导入mediaLibrary和fs模块
2. 创建图片资源 需要申请‘ohos.permission.READ_MEDIA’,‘ohos.permission.WRITE_MEDIA’,'ohos.permission.MEDIA_LOCATION’权限
3. 写入数据