如何调用系统拍照并获取图片
2024-11-19 09:46:19
200次阅读
0个评论
如何调用系统拍照并获取图片
import { cameraPicker } from '@kit.CameraKit';
import { camera } from '@kit.CameraKit';
import { BusinessError } from '@ohos.base';
import { hilog } from '@kit.PerformanceAnalysisKit'
@Entry
@Component
struct ImagePickerPage {
@State uri: Resource | string | undefined = undefined;
private cameraPosition: Array<camera.CameraPosition> = [
camera.CameraPosition.CAMERA_POSITION_UNSPECIFIED, camera.CameraPosition.CAMERA_POSITION_BACK,
camera.CameraPosition.CAMERA_POSITION_FRONT
];
private mediaType: Array<cameraPicker.PickerMediaType> = [
cameraPicker.PickerMediaType.PHOTO, cameraPicker.PickerMediaType.VIDEO
];
build() {
Row() {
Column() {
Image(this.uri)
.width("100%")
Button("拍照")
.width("80%")
.onClick(async () => {
try {
let pickerProfile: cameraPicker.PickerProfile = { cameraPosition: this.cameraPosition[1] };
let pickerResult: cameraPicker.PickerResult = await cameraPicker.pick(getContext(this),
[this.mediaType[0]], pickerProfile);
// Get video URI
this.uri = pickerResult.resultUri;
hilog.info(0x0000, ' ', "the pick pickerResult is:" + JSON.stringify(pickerResult));
} catch (error) {
let err = error as BusinessError;
hilog.error(0x0000, '', `the pick call failed. error code: ${err.code}`);
}
})
}
.width("100%")
}
.height("100%")
}
}
效果
参考
@ohos.multimedia.cameraPicker (相机选择器)
备注
作者:坚果
来源:坚果派
著作权归作者所有,禁止任何未经授权的个人或组织以任何形式将本案例集及其附属资料、创新、创意、架构设计、算法、衍生作品等用于任何商业目的、盈利活动、各类竞赛(比赛)、直播教学、录播教学、线下课程、书籍编写、教材编写、会议、培训、公益活动、项目课题、毕业设计、毕业论文、学术论文等。商业转载请联系作者获得授权,非商业转载请注明出处。否则追究相关责任。
00
- 0回答
- 1粉丝
- 0关注
相关话题
- 如何通过系统相机拍照和录像
- 鸿蒙无权限实现图片选择拍照和录视频
- OpenHarmony: 如何获取当前HAP的BundleName
- 如何获取设备屏幕横竖屏状态
- 如何在Page中获取WindowStage实例
- 高性能拍照实现方案(仅对系统应用开放)
- HarmonyOS NEXT父组件如何调用子组件的方法?
- 鸿蒙开发:父组件如何调用子组件中的方法?
- 如何获取状态管理框架代理前的原始对象
- 鸿蒙Next如何实现打开相册选图片功能?
- harmony OS NEXT-Image组件如何引用网络图片
- 拍照实现方案
- 【HarmonyOS NEXT】如何给未知类型对象定义类型并使用递归打印所有的Key
- 分段式拍照实现方案
- 鸿蒙原生应用如何才能拉起系统浏览器?