Javascript,Html5 Canvas渲染一次后,对其进行更新

罗克

我试图用html CANVAS标签创建一个加载栏。

我可以创建画布和条形图(矩形)以及所有作品,但是我似乎无法弄清的唯一事情就是如何用绿色更新条形图。

我尝试使用带有“ onclick”按钮的按钮来调用该函数

function drawbars(ctx){
    ctx.fillStyle = "#FF0000";
    ctx.fillRect(0,0,150,75);
}

但这无能为力。

然后,我想每次必须绘制条形图时都要清除画布,然后我找不到一种方法来为加载的每个百分比绘制正确数量的条形图。

这就是我现在所拥有的...

-像这样绘制具有100个矩形的画布的函数效果很好。

for (var n = 0; n < 100; n++){
    ctx.fillStyle = "#FF0000";
    ctx.fillRect(x+margin,0,5,25);
}

-我以为这会用不同的颜色更新画布中的每个矩形(矩形)。

ctx.fillStyle = "#FF0000";

问题仍然存在:如何创建具有100个小节的画布,然后按从左到右的百分比填充它们。

提前致谢

品牌

关于画布和画布上的图纸...

当需要更改画布上的任何现有图形(重新着色,调整大小,移动,擦除等)时,标准方法是完全擦除画布,并使用其新尺寸和位置的元素重新绘制画布(如果没有,则不重新绘制元素)它们被删除)。

这是因为画布不会“记住”它绘制任何单个元素的位置,因此无法单独移动或擦除任何元素。

擦除画布后,由您“记住”有关元素的足够信息以重绘该元素。

因此,请使用类似以下内容来擦除/重新绘制进度表:http : //jsfiddle.net/m1erickson/XM5ZH/

var canvas=document.getElementById("canvas");
var ctx=canvas.getContext("2d");

var margin=2;
var cellWidth=3;
var cellHeight=5;
var progress=1;

animate();

function drawProgress(completeColor,incompleteColor,completeCount){

    ctx.clearRect(0,0,canvas.width,canvas.height);

    for (var n = 1; n < completeCount; n++){
        ctx.fillStyle = completeColor;
        ctx.fillRect(n*cellWidth+margin,50,cellWidth,cellHeight);
    }    

    for (var n = completeCount; n < 100; n++){
        ctx.fillStyle = incompleteColor;
        ctx.fillRect(n*cellWidth+margin,50,cellWidth,cellHeight);
    }    

}

function animate(){

    if(progress<100){ requestAnimationFrame(animate); }

    drawProgress("green","red",progress);

    progress++;

}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

HTML5 canvas javascript

来自分类Dev

HTML5 canvas javascript

来自分类Dev

Javascript和HTML5 Canvas Sprite

来自分类Dev

HTML5 canvas + JavaScript class =错误

来自分类Dev

使用javascript进行HTML5验证

来自分类Dev

在 HTML5/Javascript 中一次按下多个键

来自分类Dev

使用HTML5 / Javascript渲染ShapeFile / DBF

来自分类Dev

html5 canvas和javascript的奇怪行为

来自分类Dev

如何使用JavaScript在HTML5 Canvas中绘制圆?

来自分类Dev

HTML5 / Javascript Canvas邮票设计项目

来自分类Dev

使用JavaScript克隆并单击移动的HTML5 Canvas元素

来自分类Dev

HTML5 Canvas游戏渲染图

来自分类Dev

HTML5:通过JavaScript绘制后将透明度应用于Canvas

来自分类Dev

裁剪HTML5 Canvas / JavaScript后,如何从图像中删除透明空白?

来自分类Dev

HTML5 Canvas不会在Rails中使用JavaScript进行迭代

来自分类Dev

来自视频的HTML5 Canvas drawImage在第一次绘制时未显示

来自分类Dev

在HTML5 canvas中,translate()和moveTo()JavaScript函数之间有什么区别?

来自分类Dev

Javascript HTML5 Canvas Mario Bros NES克隆,碰撞和跳跃中断

来自分类Dev

html5 canvas应用程序中的JavaScript base64图像源内存管理

来自分类Dev

How can I animate an image to spin inside an HTML5 canvas with JavaScript?

来自分类Dev

使用JavaScript添加到正文时,HTML5 Canvas会重置

来自分类Dev

使用HTML5 canvas和Javascript显示多帧dicom图像

来自分类Dev

使用JavaScript三角函数缩放旋转的图像以填充HTML5 Canvas?

来自分类Dev

将HTML5 Canvas + Javascript应用程序转换为可执行文件

来自分类Dev

如何在javascript中获取HTML5 Canvas.todataurl文件大小?

来自分类Dev

在给定时间后停止 HTML5 Javascript 动画

来自分类Dev

如何使用Javascript / HTML5在一行上随机生成对象?

来自分类Dev

如何使用Javascript / HTML5在一行上随机生成对象?

来自分类Dev

部分渲染 html5 画布 - 性能

Related 相关文章

  1. 1

    HTML5 canvas javascript

  2. 2

    HTML5 canvas javascript

  3. 3

    Javascript和HTML5 Canvas Sprite

  4. 4

    HTML5 canvas + JavaScript class =错误

  5. 5

    使用javascript进行HTML5验证

  6. 6

    在 HTML5/Javascript 中一次按下多个键

  7. 7

    使用HTML5 / Javascript渲染ShapeFile / DBF

  8. 8

    html5 canvas和javascript的奇怪行为

  9. 9

    如何使用JavaScript在HTML5 Canvas中绘制圆?

  10. 10

    HTML5 / Javascript Canvas邮票设计项目

  11. 11

    使用JavaScript克隆并单击移动的HTML5 Canvas元素

  12. 12

    HTML5 Canvas游戏渲染图

  13. 13

    HTML5:通过JavaScript绘制后将透明度应用于Canvas

  14. 14

    裁剪HTML5 Canvas / JavaScript后,如何从图像中删除透明空白?

  15. 15

    HTML5 Canvas不会在Rails中使用JavaScript进行迭代

  16. 16

    来自视频的HTML5 Canvas drawImage在第一次绘制时未显示

  17. 17

    在HTML5 canvas中,translate()和moveTo()JavaScript函数之间有什么区别?

  18. 18

    Javascript HTML5 Canvas Mario Bros NES克隆,碰撞和跳跃中断

  19. 19

    html5 canvas应用程序中的JavaScript base64图像源内存管理

  20. 20

    How can I animate an image to spin inside an HTML5 canvas with JavaScript?

  21. 21

    使用JavaScript添加到正文时,HTML5 Canvas会重置

  22. 22

    使用HTML5 canvas和Javascript显示多帧dicom图像

  23. 23

    使用JavaScript三角函数缩放旋转的图像以填充HTML5 Canvas?

  24. 24

    将HTML5 Canvas + Javascript应用程序转换为可执行文件

  25. 25

    如何在javascript中获取HTML5 Canvas.todataurl文件大小?

  26. 26

    在给定时间后停止 HTML5 Javascript 动画

  27. 27

    如何使用Javascript / HTML5在一行上随机生成对象?

  28. 28

    如何使用Javascript / HTML5在一行上随机生成对象?

  29. 29

    部分渲染 html5 画布 - 性能

热门标签

归档