HarmonyOS鸿蒙Next中文件选择器(FilePicker)获取图片如何转化为pixelMap

HarmonyOS鸿蒙Next中文件选择器(FilePicker)获取图片如何转化为pixelMap 文件选择器(FilePicker)获取图片如何转化为pixelMap

3 回复

获取filepicker 获取图片的uri, 然后调用以下方法:

async transitionImage2PixelMap(uri: string): Promise<image.PixelMap> {
  const file = fs.openSync(uri, fs.OpenMode.READ_ONLY);
  const imageSource = image.createImageSource(file.fd);
  return await imageSource.createPixelMap({});
}

更详细的可参考图片处理: https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-image-V5#imagecreateimagesource

更多关于HarmonyOS鸿蒙Next中文件选择器(FilePicker)获取图片如何转化为pixelMap的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,通过文件选择器(FilePicker)获取图片后,可以使用ImageSource类将图片转化为PixelMap。以下是具体步骤:

  1. 使用FilePicker获取图片文件路径。
  2. 通过ImageSource类的create方法创建ImageSource对象。
  3. 调用ImageSource对象的createPixelMap方法生成PixelMap对象。

示例代码如下:

import picker from '@ohos.file.picker';
import image from '@ohos.multimedia.image';

// 使用FilePicker获取图片文件路径
let photoSelectOptions = new picker.PhotoSelectOptions();
photoSelectOptions.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE;
photoSelectOptions.maxSelectNumber = 1;
let photoPicker = new picker.PhotoViewPicker();
photoPicker.select(photoSelectOptions).then((photoSelectResult) => {
    let uri = photoSelectResult.photoUris[0];

    // 创建ImageSource对象
    image.createImageSource(uri).then((imageSource) => {
        // 生成PixelMap对象
        imageSource.createPixelMap().then((pixelMap) => {
            // 使用pixelMap进行后续操作
        });
    });
});

在上述代码中,PhotoViewPicker用于选择图片文件,ImageSource用于将图片文件转化为PixelMap

在HarmonyOS鸿蒙Next中,使用FilePicker获取图片后,可以通过以下步骤将其转化为PixelMap:

  1. 获取文件URI:通过FilePicker选择图片后,获取到文件的URI。
  2. 使用ImageSource:通过ImageSource.create方法,传入文件URI,创建ImageSource对象。
  3. 解码为PixelMap:调用ImageSource的createPixelmap方法,将图片解码为PixelMap对象。

示例代码:

Uri uri = // 从FilePicker获取的URI
ImageSource imageSource = ImageSource.create(uri, null);
PixelMap pixelMap = imageSource.createPixelmap(null);

这样,你就可以将图片转化为PixelMap进行进一步处理。

回到顶部