Javascript 但是,这个解决方案似乎是必要的,因为服务器限制CORS方法获取选项。它不适用于我的视频。我已经设置了CORS标题,并使用curl-I确认标题确实设置好了。我想从视频中提取一帧并在图像中显示。我在视频帧上调用toDataURL时出错。那么怎么做…?所以基本上
Javascript 但是,这个解决方案似乎是必要的,因为服务器限制CORS方法获取选项。它不适用于我的视频。我已经设置了CORS标题,并使用curl-I确认标题确实设置好了。我想从视频中提取一帧并在图像中显示。我在视频帧上调用toDataURL时出错。那么怎么做…?所以基本上,javascript,html,video,canvas,Javascript,Html,Video,Canvas,但是,这个解决方案似乎是必要的,因为服务器限制CORS方法获取选项。它不适用于我的视频。我已经设置了CORS标题,并使用curl-I确认标题确实设置好了。我想从视频中提取一帧并在图像中显示。我在视频帧上调用toDataURL时出错。那么怎么做…?所以基本上这不能用于不同来源的视频?谢谢!这也适用于视频标签:。这将允许在视频帧上调用toDataURL。 var canvas = document.getElementById("canvas").getContext("2d"); var but
但是,这个解决方案似乎是必要的,因为服务器限制CORS方法获取选项。它不适用于我的视频。我已经设置了CORS标题,并使用curl-I确认标题确实设置好了。我想从视频中提取一帧并在图像中显示。我在视频帧上调用toDataURL时出错。那么怎么做…?所以基本上这不能用于不同来源的视频?谢谢!这也适用于视频标签:。这将允许在视频帧上调用toDataURL。
var canvas = document.getElementById("canvas").getContext("2d");
var button = document.getElementById("button");
var image = new Image();
image.crossOrigin = "anonymous"; // This enables CORS
image.onload = function (event) {
try {
canvas.drawImage(image, 0, 0, 200, 200);
button.download = "cat.png";
button.href = canvas.canvas.toDataURL();
} catch (e) {
alert(e);
}
};
image.src = "https://i.chzbgr.com/maxW500/1691290368/h07F7F378/"
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
<FilesMatch "\.(mp4)$">
SetEnvIf Origin ":" IS_CORS
Header set Access-Control-Allow-Origin "*" env=IS_CORS
</FilesMatch>
</IfModule>
</IfModule>
document.getElementById('video_thumb').innerHTML =
'<img src="'+data_uri+'" width="250"
height="250px" crossOrigin="Anonymous">';
$("select[name='example']").add(".external-icon").hide();
$("select[name='example']").add(".external-icon").show();
// Webkit will throw security error when image used on canvas and canvas.toDataUrl()
return new Promise((resolve, reject) => {
let image = new Image();
img.onload = () => {resolve(image)}
img.src = `${url}?${Date.now()}`;
img.crossOrigin = ""
})
// Webkit will not throw security error when image used on canvas and canvas.toDataUrl()
return new Promise((resolve, reject) => {
let img = new Image()
img.onload = () => {resolve(img)}
img.crossOrigin = ''
img.src = `${url}?${Date.now()}`
})
useEffect(() => {
const img = new Image();
if (picdatanew.length !== 0) {
img.setAttribute("crossorigin", "anonymous");
img.src = picdatanew[picID].webformatURL;
setCanvasSize({
width: picdatanew[picID].webformatWidth,
height: picdatanew[picID].webformatHeight,
});
setPicturedata(img);
setWholedata([]);
setTimeout(() => {
contextRef.current.drawImage(
img,
0,
0,
picdatanew[picID].webformatWidth,
picdatanew[picID].webformatHeight
);
var image = canvasRef.current.toDataURL("image/jpg");
setMyImage(image);
}, 2000);
}
}, [picID, picdatanew]);