淡入图像
Fade an image in
我正在尝试在画布环境中淡化图像。从本质上讲,我想做的是,当从左到右移动图像时,我想将其从0%alpha渐变为100%alpha。当我在代码中注释globalAlpha和alpha信息时,它会像我希望的那样移动,我唯一的问题是让它褪色。我可以让globalAlpha函数工作,但它会影响画布区域中的所有艺术品。有没有一种方法我可以只影响一个元素?最终,我会想在动画中基于计时器的不同时间淡入多个元素,但如果我能首先实现这一点,我就可以从那里开始。
window.addEventListener('load', eventWindowLoaded, false);
function eventWindowLoaded()
{
canvasApp();
}
function canvasSupport ()
{
return Modernizr.canvas;
}
function canvasApp()
{
if (!canvasSupport())
{
return;
}
var pointImage = new Image();
pointImage.src = "images/barry.png";
var barry = new Image();
barry.src = "images/barry.png";
/*var alpha = 0;
context.globalAlpha = 1;*/
function drawScreen()
{
//context.globalAlpha = 1;
context.fillStyle = '#EEEEEE';
context.fillRect(0, 0, theCanvas.width, theCanvas.height);
//context.globalAlpha = alpha;
//Box
context.strokeStyle = '#000000';
context.strokeRect(1, 1, theCanvas.width-2, theCanvas.height-2);
if (moves > 0 )
{
moves--;
ball.x += xunits;
ball.y += yunits;
}
context.drawImage(barry, ball.x, ball.y);
/*context.restore();
alpha += .1;
if (alpha > 1)
{
alpha = 0;
}*/
}
var speed = 1;
var p1 = {x:20,y:250};
var p2 = {x:40,y:250};
var dx = p2.x - p1.x;
var dy = p2.y - p1.y;
var distance = Math.sqrt(dx*dx + dy*dy);
var moves = distance/speed;
var xunits = (p2.x - p1.x)/moves;
var yunits = (p2.y - p1.y)/moves;
var ball = {x:p1.x, y:p1.y};
var points = new Array();
theCanvas = document.getElementById("canvas");
context = theCanvas.getContext("2d");
ctx = theCanvas.getContext("2d");
setInterval(drawScreen, 10);
}
欢迎提出任何建议!
我认为另一个问题会给你一个方法。
它展示了如何在画布上下文中加载元素,然后如何将其淡入。
绘制画布元素后,如何更改元素的不透明度(alpha,透明度)?
相关文章:
- 淡入背景图像淡入该分区内的内容
- jQuery图像淡入淡出不起作用
- 悬停在文本上,图像淡入淡出&出来
- 幻灯片中的图像淡入淡出
- 将鼠标悬停在文本上,图像淡入
- 我将如何使背景图像淡入
- CSS3 图像淡入
- 现有 JavaScript 照片库的图像淡入淡出效果
- CSS 过渡背景图像淡入,但不动画大小
- 幻灯片 具有不透明度的阵列图像(淡入淡出)
- 使图像淡入
- 如何使用 CSS3 设置 ul 背景图像淡入
- 预览图像淡入
- 动画 HTML 背景图像淡入淡出
- CSS jQuery - 展示图像(淡入淡出)
- 网页加载完成后图像淡入
- 可以't使背景图像淡入
- 文本图像淡入淡出和淡入淡出问题:以连续方式显示文本淡入淡出
- 下一个图像未淡入.上一个图像淡入,下一个仅出现
- 当用户向下滚动到该分区时,背景图像淡入淡出