HarmonyOS 鸿蒙Next 截屏图片如何获取

发布于 1周前 作者 h691938207 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 截屏图片如何获取

截屏图片不知道怎么获取 

2 回复

该问题你可以参考文档:@ohos.screenshot (屏幕截图)-图形图像-ArkTS API-ArkUI(方舟UI框架)-应用框架 - 华为HarmonyOS开发者 可以不指定album,直接调用phAccessHelper.getAssets,获取的是所有图片/视频,如果是截屏是最后写入图库的,那么第一个就是截屏图片,参考代码:

async example66() {

  console.info('getAssets');

  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();

  let fetchOptions: photoAccessHelper.FetchOptions = {

    fetchColumns: [],

    predicates: predicates

  };

  phAccessHelper.getAssets(fetchOptions, async (err, fetchResult) => {

    if (fetchResult !== undefined) {

      console.info('fetchResult success');

      let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();

      if (photoAsset !== undefined) {

        console.info('photoAsset.displayName : ' + photoAsset.displayName);

      }

    } else {

      console.error(`fetchResult fail with error: ${err.code}, ${err.message}`);

    }

  });

}

更多关于HarmonyOS 鸿蒙Next 截屏图片如何获取的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS 鸿蒙Next系统中,获取截屏图片可以通过系统提供的API来实现。以下是获取截屏图片的基本流程:

  1. 权限申请: 首先,确保你的应用已经申请并获得了存储权限和截图权限。这通常在应用的config.json文件中配置,或者在运行时通过API申请。

  2. 调用截图API: 使用HarmonyOS提供的截图API来捕捉当前屏幕的内容。该API会返回一个包含屏幕截图的Bitmap对象。

  3. 处理截图: 获取到Bitmap对象后,你可以将其保存到设备的存储中,或者进行其他处理,如显示在界面上。

  4. 示例代码

    import mediaLibrary from '[@ohos](/user/ohos).multimedia.mediaLibrary';
    import media from '[@ohos](/user/ohos).multimedia.media';
    
    async function captureScreenshot() {
        let screenshotBitmap = await mediaLibrary.captureScreen();
        // 处理screenshotBitmap,例如保存到文件
        let filePath = "/path/to/save/screenshot.png";
        await mediaLibrary.saveBitmap(screenshotBitmap, filePath);
    }
    
    captureScreenshot();
    

请注意,上述代码是示例性质,实际使用时需要根据具体API文档调整。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部