首页 > 解决方案 > Javascript 中的图像捕获 Api 无法在 iPhone 上捕获最高分辨率的图像

问题描述

我一直在尝试使用图像捕获 api,特别是 pollyfill ( https://github.com/GoogleChromeLabs/imagecapture-polyfill ),从视频流中捕获图像。有适用于桌面和安卓的代码。在 iphone 上使用它时遇到问题,捕获的图像分辨率默认为 1080p。我在 iphone se 1st gen 和 iphone 12 pro 上测试了该应用程序,两者都产生了 1080p 分辨率的图像。以手机硬件支持的最高分辨率捕获图像会很棒。这是代码的快照

import { ImageCapture } from 'image-capture';

  async imageCaptureBase64(mediaStream: MediaStreamTrack): Promise<string> {
    const captureDevice = new ImageCapture(mediaStream);
    const imageBlob = await captureDevice.takePhoto();
    const base64String = await this.blobToBase64(imageBlob);
    return base64String;
  }

  async blobToBase64(blob) : Promise<string> {
    return new Promise((resolve, _) => {
      const reader = new FileReader();
      //@ts-ignore
      reader.onloadend = () => resolve(reader.result);
      reader.readAsDataURL(blob);
    });
  }

感谢您的检查!

标签: javascriptimageimage-processing

解决方案


推荐阅读