首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ctx.strokeStyle和ctx.fillStyle

使用ctx.strokeStyle和ctx.fillStyle
EN

Stack Overflow用户
提问于 2015-06-09 17:48:25
回答 1查看 432关注 0票数 0

我正在使用画布制作动画,根据百分比填充矩形颜色。我能够做到这一点,但内部广场必须有边界底部和边界-右。我正在使用ctx.strokeStyle给出边界,但它不起作用。任何帮助我搞清楚我做错了什么,我们都很感激。谢谢!

这是工作的小提琴:http://jsfiddle.net/2n6kduL4/22/

HTML

代码语言:javascript
复制
<div id="mydiv">
    <canvas id="Rectangle1" width="100" height="100" style="border:1px solid #d3d3d3;background:#7392a8;">Your browser does not support the HTML5 canvas tag.</canvas>
    <canvas id="Rectangle2" width="100" height="100" style="border:1px solid #d3d3d3;">Your browser does not support the HTML5 canvas tag.</canvas>
    <canvas id="Rectangle3" width="100" height="100" style="border:1px solid #d3d3d3;">Your browser does not support the HTML5 canvas tag.</canvas>
    <canvas id="Rectangle4" width="100" height="100" style="border:1px solid #d3d3d3;">Your browser does not support the HTML5 canvas tag.</canvas>
</div>

JQUERY

代码语言:javascript
复制
(function(){
   for (j = 1; j < 5; j++) {
       var myTime = {};
        myTime[1] = 0.5;
        myTime[2] = 0.9;
        myTime[3] = 0.1;
        myTime[4] = 0.5;
       (function(){
           var canvas = document.getElementById('Rectangle' + j);
       //console.log(canvas);
       //var ctx = document.getElementById(canvas)[k].getContext('2d');
       var ctx =canvas.getContext('2d');
       //console.log(ctx);
       var myPerc = 100;
       ctx.fillStyle = "rgb(255, 255, 255)";
       ctx.fillRect(0, 0, myPerc, myPerc);
       ctx.save();
       for (var i = 0; i < (myPerc * myTime[j]); i++) {            
           ctx.fillStyle = "rgb(0, 255, 0)"; //greeen
           ctx.strokeStyle = 'rgb(0,0,0)';
           ctx.lineWidth   = 4;
           ctx.stroke();
           console.log("before", ctx);
           // ctx.fillRect(0, 0, +i, +i);
           (function (i) {                 
               setTimeout(function () {
                   console.log(ctx, j);
                   ctx.fillRect(0, 0, +i, +i);
               }, 50 * i);
           })(i);
       }
       })();
   }
})();

谢谢你,普拉瓦利卡

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-09 18:09:32

您只调用fillRect,所以它只是填充矩形,而不是绘制边框。填充strokeRect之后,尝试添加一个对它的调用。

http://jsfiddle.net/vpzomtrrfrt/2n6kduL4/23/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30739271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档