HTML5 Canvas ( 线性渐变, 升级版的星空 ) createLinearGradient, addColorStop

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>canvas</title>
    <script type="text/javascript" src="../js/jQuery.js"></script>
    <style type="text/css">
        *{
            margin: 0;
            padding: 0;
            outline: none;
            border: none;
        }
        #canvas{
            width: 7rem;
            margin: .25rem 0 0 1.5rem;
            border: 1px solid black;
        }
    </style>
</head>
<body>
    <canvas id="canvas" width="1000" height="600"></canvas>
</body>
</html>
<script type="text/javascript">
    /**
     * rem 布局初始化
     */
    $(‘html‘).css(‘font-size‘, $(window).width()/10);
    /**
     * 获取 canvas 画布
     * 获取 canvas 绘图上下文环境
     */
    var canvas = $(‘#canvas‘)[0];
    var cxt = canvas.getContext(‘2d‘);

    /**
     * 线性渐变 createLinearGradient
     * 添加颜色 addColorStop( 该颜色起始位置的百分比, 颜色 )
     */
    var lineStyle = cxt.createLinearGradient(0, 0, 1000, 600); //确定线性渐变的位置
    lineStyle.addColorStop(0.0, ‘red‘); //渐变样式的添加
    lineStyle.addColorStop(0.5, ‘yellow‘); //渐变样式的添加
    lineStyle.addColorStop(1.0, ‘blue‘); //渐变样式的添加
    cxt.fillStyle = lineStyle;
    cxt.fillRect(0, 0, 1000, 600);
</script>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>canvas</title>
    <script type="text/javascript" src="../js/jQuery.js"></script>
    <style type="text/css">
        *{
            margin: 0;
            padding: 0;
            outline: none;
            border: none;
        }
        #canvas{
            width: 7rem;
            margin: .25rem 0 0 1.5rem;
            border: 1px solid black;
        }
    </style>
</head>
<body>
    <canvas id="canvas" width="1000" height="600"></canvas>
</body>
</html>
<script type="text/javascript">
    /**
     * rem 布局初始化
     */
    $(‘html‘).css(‘font-size‘, $(window).width()/10);
    /**
     * 获取 canvas 画布
     * 获取 canvas 绘图上下文环境
     */
    var canvas = $(‘#canvas‘)[0];
    var cxt = canvas.getContext(‘2d‘);

    /**
     * 绘制一片星空
     */
    var skyStyle = cxt.createLinearGradient(0, 0, 0, canvas.height);
    skyStyle.addColorStop(0.0, ‘black‘);
    skyStyle.addColorStop(1.0, ‘#035‘);
    cxt.fillStyle = skyStyle;

    cxt.fillRect(0, 0, canvas.width, canvas.height);
    for(var i = 0; i < 150; i++){
        var fiveStart = {};
        fiveStart.Radius = Math.random()*6+6;
        fiveStart.offsetX = Math.random()*canvas.width;
        fiveStart.offsetY = Math.random()*canvas.height*0.65;
        fiveStart.RotationAngle = Math.random()*360;

        drawFiveStar(cxt, fiveStart);
    }

    /**
     * 控制五角星的方法
     */
    function drawFiveStar(cxt, fiveStart){
        cxt.save();
        cxt.translate(fiveStart.offsetX, fiveStart.offsetY); //相对于原点的偏移量
        cxt.rotate(fiveStart.RotationAngle/180*Math.PI); //图形旋转(弧度)
        cxt.scale(fiveStart.Radius, fiveStart.Radius); //图形缩放( X轴的倍数, Y轴的倍数 )
        fiveStartPath(cxt);
        cxt.fillStyle = "yellow";
        cxt.fill();
        cxt.restore();
    }

    /**
     * 绘制标准五角星路径的方法
     */
    function fiveStartPath(cxt){
        cxt.beginPath();
        var x = 0; y = 0;
        for(var i = 0; i < 5; i++){
            x = Math.cos((18+72*i)/180*Math.PI);
            y = Math.sin((18+72*i)/180*Math.PI);
            cxt.lineTo(x, 0-y);
            x = Math.cos((54+72*i)/180*Math.PI)/2.0;
            y = Math.sin((54+72*i)/180*Math.PI)/2.0;
            cxt.lineTo(x, 0-y);
        }
        cxt.closePath();
    }
</script>
时间: 2024-10-15 00:17:17

HTML5 Canvas ( 线性渐变, 升级版的星空 ) createLinearGradient, addColorStop的相关文章

html5 &lt;canvas&gt;第二篇 strokeRect strokeStyle() strokeStyle() createLinearGradient addColorStop 用法 实心圆,空心圆,渐变

<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <link href="css.css" rel="stylesheet" type="text/css

html5 canvas 填充渐变形状

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

html5 Canvas颜色渐变(画图很重要)

如果我们想要给图形上色,有两个重要的属性可以做到:fillStyle 和 strokeStyle.    fillStyle = color    strokeStyle = color strokeStyle 是用于设置图形轮廓的颜色,而 fillStyle 用于设置填充颜色.color 可以是表示 CSS 颜色值的字符串,渐变对象或者图案对象.默认情况下,线条和填充颜色都是黑色(CSS 颜色值 #000000). 下面的例子都表示同一种颜色.   // 这些 fillStyle 的值均为 '

HTML5 Canvas ( 贝塞尔曲线, 一片星空加绿地 ) quadraticCurveTo, bezierCurveTo

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>canvas</title> <script type="text/javascript" src="../js/jQuery.js"></script> <style type="text/css">

html5 canvas 水平渐变描边

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

html5 canvas 径向渐变2

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

html5 canvas图片渐变

<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <script> window.onload = function () { var oc = document.getElementById('c1'); var ogc = oc.getContext('2d'); var yimg = new Imag

html5 canvas 详细使用教程

导航 前言 基本知识 绘制矩形 清除矩形区域 圆弧 路径 绘制线段 绘制贝塞尔曲线 线性渐变 径向渐变(发散) 图形变形(平移.旋转.缩放) 矩阵变换(图形变形的机制) 图形组合 给图形绘制阴影 绘制图像(图片平铺.裁剪.像素处理[不只图像.包括其他绘制图形]) 绘制文字 保存和恢复状态(context) 保存文件 结合setInterval制作动画 结语.demo下载   前言 <canvas></canvas>是html5出现的新标签,像所有的dom对象一样它有自己本身的属性.

HTML5 canvas绘图基本使用方法

<canvas></canvas>是HTML5中新增的标签,用于绘制图形,实际上,这个标签和其他的标签一样,其特殊之处在于该标签可以获取一个CanvasRenderingContext2D对象,我们可以通过JavaScript脚本来控制该对象进行绘图. <canvas></canvas>只是一个绘制图形的容器,除了id.class.style等属性外,还有height和width属性.在<canvas>>元素上绘图主要有三步: 获取<