无法在React中使用Canvas绘制图像

时间:2020-09-02 08:14:07

标签: reactjs canvas html5-canvas

我正在尝试在React中使用Canvas。我有一个上传的视频,上传后,我尝试绘制第一帧的图像(尚未播放)并用toDataURL保存。绘制时没有出现错误,尝试编码为base64时得到了很长的字符串,但是尝试测试该字符串时却得到了一个空图像。告诉Canvas绘制视频图像时,我感觉做错了。有人可以指出错误吗?

const videoRef = useRef(null);
const canvasRef = useRef(null);

然后,当视频加载时:

const HandleVideoEvents = () => {

        videoRef.current.onloadeddata = (e) => {
            props.duration(e.target.duration) // for other purposes

            canvasRef.current.width = e.target.videoWidth;
            canvasRef.current.height = e.target.videoHeight;
            video = e.target;
        
            props.setShowCanvas(); // for other purposes
            HandleExtractFrame();
        };
    }

我是否以错误的方式定位视频?然后,我绘制并保存:

const HandleExtractFrame = () => {

      ctx = canvasRef.current.getContext('2d')
      ctx.drawImage(video, 0, 0, canvasRef.current.width, canvasRef.current.height);
      frame = canvasRef.current.toDataURL("image/png");
      
      }

0 个答案:

没有答案