canvas - 柱子效果

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>canvas绘制图表</title>
<style type="text/css">
*{
    margin:0;
    padding:0;
}
body{
    text-align:center;
    background-color:black;
}
#c1{
    background-color:white;
}
</style>
<script type="text/javascript">
function rnd(n,m){
    return parseInt(Math.random()*(m-n)+n);
}
window.onload = function(){
    var canvas = document.getElementById(‘c1‘);
    var gd = canvas.getContext(‘2d‘); 

    var aData = [100,200,300];
    var space = 20;
    var topSpace = 100;  

    var iMax=Math.max.apply(null,aData)
    var w=40;
    var lastR=0;    //前一个柱子的right  

    for(var i=0;i<3;i++){
        //原点
        var l=lastR+space;
        var t;

        //根据canvas 和 比例 来确定高, 而不是根据给出的高度
        var h=(aData[i]/iMax)*(canvas.height-topSpace);  

         //原点
         t=canvas.height-h;  

        gd.fillStyle=‘rgb(‘+rnd(0, 256)+‘, ‘+rnd(0, 256)+‘, ‘+rnd(0, 256)+‘)‘;  

        gd.fillRect(l,t,w,h);  

        lastR=l+w;
    }
}
</script>
</head>
<body>
    <canvas width=‘500‘ height="500" id="c1"></canvas>
</body>
</html>  
时间: 2024-10-10 13:31:56

canvas - 柱子效果的相关文章

HTML5 Canvas动画效果实现原理

在线演示 使用HTML5画布可以帮助我们高速实现简单的动画效果.基本原理例如以下: 每隔一定时间绘制图形而且清除图形,用来模拟出一个动画过程,能够使用context.clearRect(0, 0, x, y)方法来刷新须要绘制的图形 首先是绘制图形的方法,例如以下: function myAnimation() { ctx.clearRect(0, 0, canvas_size_x, canvas_size_y); if (x_icon < 0 || x_icon > canvas_size_

canvas仪表盘效果

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>canvas仪表盘动画效果</title> <style type="text/css"> html, body { width: 100%; height: 100%; margin: 0; } canvas { display: none; border: 1p

2015.4.25-2015.5.1 字符串去重,比例圆设计,中奖机和canvas橡皮擦效果等

1.字符串去重,html模板取值 2.javascript正则表达式之$1...$9 3.jquery插件 4.返回上一页并刷新 解决方法: <a href ="javascript:location.href=document.referrer;"> 5.用webstorm写的手机网站 怎样能用手机预览呢? 解决方法:布署到wamp,xamp,iis上,然后用浏览器生成二维码,扫一扫就可以打开.假如是javaweb项目,挂上tomcat手机直接访问你机子的ip. 6.比例

HTML5 canvas流体力学效果

某人用Java搞了一个流体力学的演示:http://grantkot.com/MPM/Liquid.html. 下面是 HTML 5版的流体力学演示(推荐使用Chrome浏览器浏览): 效果演示 <canvas width="400" height="400" id="liquid"></canvas><script> /** * This version: * Copyright Stephen Sincla

canvas 橡皮擦效果制作

擦除一定数量后全部消失的有用 imageData 方法的 我把代码贴在最下面 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> body{ overflow: hidden; } #canvas{ display: block; margin: 0

基于HTML5 Canvas粒子效果文字动画特效

之前我们分享过很多超酷的文字特效,其中也有利用HTML5和CSS3的.今天我们要来分享一款基于HTML5 Canvas的文字特效,输入框中输入想要展示的文字,回车后即可在canvas上绘制出粒子效果的文字动画,相当酷的动画效果. 在线预览   源码下载 实现的代码. html代码: <canvas class="canvas"></canvas> <div class="help"> ?</div> <div c

7个惊艳的HTML5 Canvas动画效果及源码

HTML5非常强大,尤其是现在大部分浏览器都支持HTML5和CSS3,用HTML5制作的动画也多了起来.另外,Canvas上绘制图形非常简单,本文就分享了一些强大的HTML5 Cnavas动画,一起来看看. 1.HTML5 Canvas瀑布动画 超逼真 这是一个很逼真的HTML5瀑布动画,基于Canvas实现的,效果相当酷. 在线演示   /   源码下载 2.HTML5 Canvas彩色像素进度条动画 这也是一款基于HTML5 Canvas的动画特效,它是一个很有创意的HTML5进度条,大家可

Canvas 橡皮擦效果

引子 解决了第一个问题图像灰度处理之后,接着就是做擦除的效果. Origin My GitHub 思路 一开始想到 Canvas 的画布可以相互覆盖的特性,彩色原图作为背景,灰度图渲染到 Canvas 画布上,然后手指滑动的时候,把接触的部分清除掉,就显示出了背景图.关键的部分是怎么清除画布上已有图像,查询资料发现有两种方式: 使用 clearRect 方法,会把指定范围所有像素变成透明,并擦除之前绘制的所有内容. 使用 globalCompositeOperation 属性,该属性设置在绘制新

canvas时钟效果

效果图 html结构 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>canvas clock</title> <link rel="stylesheet" h