Canvas 如何取消显示图像(画布)

Canvas 如何取消显示图像(画布),canvas,html5-canvas,canvasjs,Canvas,Html5 Canvas,Canvasjs,我试图想出一种方法,让图像在屏幕上来回变换几秒钟。(进入屏幕并保持约5秒钟,然后转出并保持隐藏)。我已经有了转换入的代码,我的问题是如何将其转换出 这是代码中的转换 let canvas=null; 设ctx=null; window.onload=onLassetsLoaded; 函数onLassetsLoaded(){ //停止并隐藏网页加载消息 canvas=document.getElementById(“canvas”); ctx=canvas.getContext(“2d”); c

我试图想出一种方法,让图像在屏幕上来回变换几秒钟。(进入屏幕并保持约5秒钟,然后转出并保持隐藏)。我已经有了转换入的代码,我的问题是如何将其转换出

这是代码中的转换

let canvas=null;
设ctx=null;
window.onload=onLassetsLoaded;
函数onLassetsLoaded(){
//停止并隐藏网页加载消息
canvas=document.getElementById(“canvas”);
ctx=canvas.getContext(“2d”);
canvas.width=canvas.clientWidth;
canvas.height=canvas.clientHeight;
/*第1步,共3步*/
/*启动动画*/
setTimeout(startImageAnimation,2000年);
renderCanvas();
}
/*第2步,共3步*/
/*每个动画都需要自己的代码*/
/******************************************************************************/
/*这三个是永远需要的*/
让imageAnimationInterval=null;
常量图像_帧率=5;//更改以适应以毫秒为单位的动画帧率。数字越小,动画速度越快*/
让ImageAnimationDisplayed=false;
/*这些变量取决于动画*/
让图像=新图像();
image.src=”http://i.stack.imgur.com/UFBxY.png";
设imageX=0;
设imageY=0;
设大小为0;
函数startImageAnimation(){
ImageAnimationDisplayed=true;
imageAnimationInterval=setInterval(updateImageAnimation,图像\帧速率);
}
函数stopImageAnimation(){
ImageAnimationDisplayed=true;
clearInterval(imageAnimationInterval);
imageAnimationInterval=null;//不运行时设置为null
}
函数stopAndHideImageAnimation(){
stopImageAnimation();
ImageAnimationDisplayed=假;
}
函数updateImageAnimation(){
大小++;
如果(大小===画布宽度){
stopImageAnimation();
}
}
函数renderImageAnimation(){
如果(显示图像动画){
ctx.drawImage(图像,图像X,图像Y,大小,大小);
}
}
/******************************************************************************/
/******************************************************************************/
函数renderCanvas(){
请求动画帧(renderCanvas);
clearRect(0,0,canvas.width,canvas.height);
/*第3步,共3步*/
/*绘制动画*/
renderImageAnimation();
}

在您的
更新图像动画中,
通过增大图像的大小(
大小++;
)来获得要转换的图像。转换出来的一个方法是减小图像的大小(
大小--;

请参见下面的示例,我正在使用一个变量(
delta
)来控制转换,我在正片和负片之间交替以增大或减小图像的大小

let image=new image();
image.src=”http://i.stack.imgur.com/UFBxY.png";
设尺寸=20;
设δ=2;
让canvas=document.getElementById(“canvas”);
设ctx=canvas.getContext(“2d”);
设置间隔(抽签,50);
函数draw(){
如果(尺寸>画布高度| |尺寸<10){
delta*=-1
}
大小+=增量;
clearRect(0,0,canvas.width,canvas.height);
drawImage(图像,0,0,大小,大小);
}

你的标题有点误导。。。您知道如何在画布中“取消显示”或清除某些内容,并且正在使用它:
ctx.clearRect(0,0,canvas.width,canvas.height)。。。我想你只是需要在过渡/动画方面的帮助