OpenHarmony开发者论坛
标题:
通过screenshot.save的截图要怎么放到相册里呢
[打印本页]
作者:
xq_qyh
时间:
2024-1-15 10:44
标题:
通过screenshot.save的截图要怎么放到相册里呢
[md]```
let screenshotOptions: screenshot.ScreenshotOptions = {
"rotation": 0,
};
screenshot.save(screenshotOptions, (err: BusinessError, pixelMap) => {
if (err) {
console.log('Failed to save screenshot. Code: ' + JSON.stringify(err));
return;
}
console.log('Succeeded in saving sreenshot. Pixel bytes number: ' + pixelMap.getPixelBytesNumber());
pixelMap.release(); // PixelMap使用完后及时释放内存
我看文档屏幕截图的api里面的screenshot.save可以获取截图的pixeMap但是要怎么样转换为图片并保存到相册中查看
```
[/md]
作者:
深开鸿_王石
时间:
2024-1-15 14:24
相册资源部分参考photoaccesshelper,
http://docs.openharmony.cn/pages ... urce-guidelines.md/
,这里有存取的方法
作者:
xq_qyh
时间:
2024-1-15 16:01
回复
深开鸿_王石
: 需要创建用户相册吗,没看到有往系统相册保存的方法
作者:
mean
时间:
2024-1-16 09:26
标题:
通过screenshot.save的截图要怎么放到相册里呢
[md]看到其他人的实现方式
```
export async function encode(pixelMap: PixelMap) {
// Packing image.
const imagePackerApi = image.createImagePacker();
const packOptions: image.PackingOption = {
format: 'image/jpeg',
quality: 100
}
const imageData = await imagePackerApi.packing(pixelMap, packOptions);
console.info(`imageData's length is ${imageData.byteLength}`)
// Get album's path.
const context = getContext(this);
const media = mediaLibrary.getMediaLibrary(context);
const publicPath = await media.getPublicDirectory(mediaLibrary.DirectoryType.DIR_IMAGE);
const currentTime = new Date().getTime();
// Create image asset.
const imageAssetInfo = await media.createAsset(
mediaLibrary.MediaType.IMAGE,
`image_${currentTime}.jpg`,
publicPath
);
const imageFd = await imageAssetInfo.open('rw');
await fs.write(imageFd, imageData);
// Image resource release.
await imageAssetInfo.close(imageFd);
imagePackerApi.release();
await media.release();
}
```
[/md]
作者:
深开鸿_王石
时间:
2024-1-16 09:26
回复
xq_qyh
: 是,这是给三方应用的,系统应用的,要使用
http://docs.openharmony.cn/pages ... getpublicdirectory8
,但是这个已经开始废弃了,代码就可以参考applications/standard/screenshot/features/screenshot/src/main/ets/com/ohos/model/screenShotModel.ets,这是系统原生的截屏方式
作者:
xq_qyh
时间:
2024-1-16 09:41
回复
mean
: 好的,谢谢大佬我试一下
作者:
xq_qyh
时间:
2024-1-16 16:18
回复
深开鸿_王石
: 我看了系统原生的截屏方式用的还是mediaLibrary
欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/)
Powered by Discuz! X3.5