画布-图像不透明度循环(淡入)

罗西滕

伙计们。这是一些应该可以的代码,尽管它不起作用...嘿...非常典型=)

function xxx() {

    var txtCanvas = document.getElementById('text');
    var textOne = txtCanvas.getContext('2d');
    var alpha = 0.5;
    textOne.globalAlpha = alpha;
    // loading image
    var img = new Image();
    img.src = "http://tvangeste.com/gallery/selani/tv4_2.jpg"
    img.onload = function () {
        textOne.drawImage(img, 0, 0);

    }
    //end of image loader

    if (alpha < 1) 
    {
      alpha += 0.1;

   }



}    
requestAnimationFrame(xxx);

这是小提琴,以展示它是如何工作的... http://jsfiddle.net/gLs1owd6/

该脚本应该做一件简单的事情-使图像褪色。有什么建议?谢谢!

用户名

您需要一个循环才能以不同的不透明度级别重新绘制图像。对于循环,您需要的东西不会阻塞UI,也不会在每次监视器更新时刷新,因此,请使用requestAnimationFrame进行救援。

这是解决此问题的一种方法:

var img = new Image();
img.onload = function () {

    // when image has loaded we can use it.
    // this is a self-invoking function used to fade in the image
    (function loop() {
        // we can update the property directly
        textOne.globalAlpha += 0.01;

        // as we have opacity involved we need to clear the canvas each time
        textOne.clearRect(0, 0, txtCanvas.width, txtCanvas.height);

        // redraw the image
        textOne.drawImage(img, 0, 0);

        // if not full opacity, loop (canvas will clamp the value for us)
        if (textOne.globalAlpha < 1.0) {
            requestAnimationFrame(loop);    
        }
        else {
            // when done, call the next step from here...
        }
    })();

}

// set source as last step for image loading
img.src = "http://tvangeste.com/gallery/selani/tv4_2.jpg"

改良的小提琴

希望这可以帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

GWT画布上图像的不透明度

来自分类Dev

画布形状顶部的画布图像数据不透明度

来自分类Dev

不透明度不应用JavaScript画布

来自分类Dev

如何更改画布上圆圈的不透明度

来自分类Dev

不透明度不应用JavaScript画布

来自分类Dev

如何使用画布更改图像的不透明度,然后将其加载到画布中的另一图像上?-HTML

来自分类Dev

在画布上用不透明度(点线)进行绘制

来自分类Dev

如何更改画布上渲染的单个对象的不透明度?

来自分类Dev

检查画布段的透明度

来自分类Dev

JavaScript div以不同的不透明度级别淡入

来自分类Dev

CSS不透明度影响兄弟图像的不透明度

来自分类Dev

使用CodeIgniter图像库调整图像画布的大小-如何保持透明度

来自分类Dev

使画布透明

来自分类Dev

使画布透明

来自分类Dev

使画布透明

来自分类Dev

循环元素不透明度

来自分类Dev

更改图像属性的不透明度?

来自分类Dev

如何设置图像与DIV对应的不透明度

来自分类Dev

使用imagick更改图像的不透明度

来自分类Dev

背景图像不透明度问题

来自分类Dev

更改图像不透明度

来自分类Dev

如何更改图像的不透明度?

来自分类Dev

将不透明度应用于图像

来自分类Dev

使用DoubleAnimation设置图像不透明度

来自分类Dev

SVG图像不透明度渐变

来自分类Dev

视差图像上的不透明度

来自分类Dev

SwiftUI-如何脉动图像不透明度?

来自分类Dev

如何为图像创建不透明度

来自分类Dev

背景图像不透明度问题