HTML5项目实例

本文详细介绍了HTML5项目实例,重点讲解了Canvas的基本图形绘制,包括直线、三角形、矩形、圆形及曲线。此外,还探讨了Web存储,包括会话存储sessionStorage和本地存储localStorage的使用,以及已废弃的Web SQL数据库。最后,讨论了如何通过navigator.geolocation获取和处理地理位置信息。
摘要由CSDN通过智能技术生成

HTML5项目实例

一、卧龙首页

二、Canvas画图
canvas 元素用于在网页上绘制图形。

  1. 基本图形、曲线的绘制
    (1) 画直线
    (2) 画三角形
    (3) 画矩形
    (4) 画圆形
    (5) 画二次、三次贝塞尔曲线
// 定义一个画图区域 canvas 元素本身是没有绘图能力的。所有的绘制工作必须在 JavaScript 内部完成
<canvas id="andy" width="400px” height="200px” style="border: 1px solid black;">如果你看到了这段文字,说明你需要升级浏览器了</canvas><br><input type="button" value="清空" onclick="clearCanvas()">

<script type="text/javascript">

    var canvas = document.getElementById('andy');
    // 判断浏览器是否支持canvasif(canvas.getContext) {
        console.log('支持Canvas');
    }else {
        console.log('不支持Canvas');
    }

    // 返回一个HTML5对象CanvasRenderingContext2D对象// canvas 2d上下文,绘画工具var context = canvas.getContext('2d');

    // 路径边缘样式
    context.strokeStyle = '#ff0000';
    // 填充样式
    context.fillStyle = '#ff0000';
      // 线宽
        context.lineWidth = 10;    

     // 画直线
        // 开始路径
        context.beginPath();
     // 起点 (画布上的点)
     context.moveTo(0, 0);
     // 终点
     context.lineTo(200, 100);
     // 描边画线
     context.stroke();
        // 结束路径
        context.closePath();    

     // 三角形
     context.beginPath();
     context.moveTo(40, 40);
     context.lineTo(80, 80);
     context.lineTo(0, 80);
        // 可自动关闭路径
        context.closePath();        
        // 描边划线
     context.stroke();

        // 填充//context.fill();


     // 填充 矩形
         context.beginPath();
        //1. 线 起始位置x,y 以及宽高
//      context.strokeRect(100,50,200,100);
        // 2.填充//  context.fillRect(100, 50, 200, 100);// 3.自己设置线还是填充
     context.rect(0, 0, 100, 100);
     context.closePath();
     context.fill();


     // 画圆// 开始一个路径
     context.beginPath();
     // 制定弧的路径  圆心,半径,开始弧度,结束弧度,是否顺时针
     context.arc(200, 100, 50, 0, Math.PI * 2, true);
     // 结束一个路径
     context.closePath();
     // 填充//context.fill();// 画线
     context.stroke();


     // 贝塞尔曲线// 二次贝塞尔曲线 (一个控制点 控制弧的形状)var pointX = 75;
     var pointY = 55;

     context.beginPath();
        // 起始位置
     context.moveTo(0, 200);
        // 前两个参数是控制点 后面的参数是结束为止
     context.quadraticCurveTo(pointX, pointY, 400, 200);
     context.stroke();

        // 演示控制点的作用
     context.beginPath();
     context.moveTo(0, 200);
     context.lineTo(pointX, pointY);
     context.lineTo(400, 200);
     context.stroke();


    // 三次贝塞尔曲线 (两个控制点)var pointX1 = 55;
    var pointY1 = 55;
    var pointX2 = 85;
    var pointY2 = 55;

    context.beginPath();
    context.moveTo(0, 200);
    context.bezierCurveTo(pointX1, pointY1, pointX2, pointY2, 400, 200);
    context.stroke();

    //演示控制点
    context.beginPath();
    context.moveTo(0, 200);
    context.lineTo(pointX1, pointY1);
    context.lineTo(pointX2, pointY2);
    context.lineTo(400, 200);
    context.stroke();

    function clearCanvas() {
    
            // 清空画布
        context.clearRect(0, 0, canvas.width, canvas.height);
    }

</script>
2. Canvas状态的保存与恢复
<canvas id="andy" width="400" height="600" style="border: 1px solid black"></canvas>

<script type="text/javascript">

    // 获取Canvasvar canvas = document.getElementById('andy');
    // 获取上下文var context = canvas.getContext('2d');

    // 第一次设置轮廓样式和填充样式
    context.strokeStyle = 'red';
    context.fillStyle = 'yellow';

    // 画第一个矩形
    context.fillRect(20, 20, 100, 50);
    context.strokeRect(20, 20, 100, 50);

    // 保存Canvas状态 保存的内容有颜色设置 宽度设置 平移旋转 缩放设置等
    context.save();

    // 第二次设置轮廓样式和填充样式
    context.strokeStyle = 'blue';
    context.fillStyle = 'green';
    /
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值