访问HarmonyOS系统相册,选中图片并显示
访问HarmonyOS系统相册,选中图片并显示 如何实现点击图片访问系统相册,选中图片返回后,在原来页面展示选中的图片
8 回复
该问题,设计到产品需求。不同的场景,实现方案不一样。
请参考:
[HarmonyOS]鸿蒙中如何获取用户相册图片?photoAccessHelper.PhotoViewPicker-CSDN博客
[HarmonyOS NEXT]鸿蒙图片或视频保存相册-CSDN博客
更多关于访问HarmonyOS系统相册,选中图片并显示的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
非常感谢您的解答,
基本信息
- 姓名: 张三
- 年龄: 28
- 职位: 软件工程师
技能
- Python
- Java
- C++
这里有个官方demo:https://gitee.com/harmonyos_samples/ImageGetAndSave
- 图片获取提供了四种实现方式:分别是Photo Picker组件、PhotoViewPicker接口、CameraPicker接口和DocumentViewPicker。
- 读取图片信息使用了getImageInfo和getImageProperties方法。
- 创建PixelMap对象使用imageSource.createPixelMap()方法。
- 保存图片使用了安全控件和photoAccessHelper模块。
找HarmonyOS工作还需要会Flutter技术的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:BV1S4411E7LY/?p=17
非常感谢您的解答,
基本信息
- 姓名: 张三
- 年龄: 28
- 职业: 软件工程师
技能
- 熟练掌握Java编程
- 熟悉Python编程
- 了解C++编程
经验
- 在某公司担任软件工程师,负责开发和维护企业级应用
- 参与多个大型项目,包括电商平台和金融系统
教育背景
- 计算机科学学士学位,某某大学,2012年毕业
import { BusinessError } from '@ohos.base';
import { picker } from '@kit.CoreFileKit';
import { photoAccessHelper } from '@kit.MediaLibraryKit';
@Entry
@Component
struct PickerPhoto {
@State getAlbum: string = '显示相册中的图片';
@State imageUrl: Array<string> = [];
async selectImage(maxSelectNumber = 1) {
let uris: Array<string> = [];
let PhotoSelectOptions = new photoAccessHelper.PhotoSelectOptions();
PhotoSelectOptions.MIMEType = photoAccessHelper.PhotoViewMIMETypes.IMAGE_TYPE;
PhotoSelectOptions.maxSelectNumber = maxSelectNumber;
let photoPicker = new photoAccessHelper.PhotoViewPicker();
await photoPicker.select(PhotoSelectOptions).then((photoSelectResult) => {
console.log("fyh photoSelectResult:" + JSON.stringify(photoSelectResult));
uris = photoSelectResult.photoUris;
}).catch((err: BusinessError) => {
console.error(`Invoke photoViewPicker.select failed, code is ${err.code}, message is ${err.message}`);
});
console.log("fyh uri:222" + uris);
return uris;
}
build() {
Row() {
Column() {
Button(this.getAlbum).onClick(async () => {
this.imageUrl = await this.selectImage(1);
console.log('this.imageUrl', JSON.stringify(this.imageUrl));
});
Row({ space: 15 }) {
if (this.imageUrl.length > 0) {
ForEach(this.imageUrl, (item: string) => {
Image(item)
.width(100)
.height(100)
.borderRadius(10)
}, (item: string) => item);
}
}.width('100%')
.padding(20)
.justifyContent(FlexAlign.Center);
}.width('100%');
}.height('100%');
}
}
非常感谢您的解答,
基本信息
- 姓名: 张三
- 年龄: 28
- 职业: 软件工程师
技能
- 熟练使用Java和Python
- 熟悉Web开发
- 了解机器学习基础知识
联系方式
- 邮箱: zhangsan@example.com
- 手机: 12345678901
在HarmonyOS中,访问系统相册并选中图片并显示可以通过PhotoViewPicker
和Image
组件实现。首先,使用PhotoViewPicker
组件打开系统相册,用户可以选择图片。选中图片后,获取图片的URI,并通过Image
组件显示。
以下是一个简单的代码示例:
import photoViewPicker from '@ohos.file.picker';
import image from '@ohos.multimedia.image';
async function pickAndDisplayImage() {
try {
const photoSelectOptions = new photoViewPicker.PhotoSelectOptions();
photoSelectOptions.MIMEType = photoViewPicker.PhotoViewMIMETypes.IMAGE_TYPE;
photoSelectOptions.maxSelectNumber = 1;
const photoPicker = new photoViewPicker.PhotoViewPicker();
const result = await photoPicker.select(photoSelectOptions);
if (result && result.photoUris.length > 0) {
const imageUri = result.photoUris[0];
const imageComponent = new image.Image();
imageComponent.src = imageUri;
// 在这里将imageComponent添加到UI中进行显示
}
} catch (error) {
console.error('Failed to pick or display image:', error);
}
}
在这个示例中,PhotoViewPicker
用于打开相册并选择图片,Image
组件用于显示选中的图片。