zoukankan      html  css  js  c++  java
  • HTML5 Canvas API

      我觉得学一门新技术,边学边作记录,这样效果更好。以后关于我写的HTML5都是看《HTML5程序设计》的记录。

      首先咱也看看咱的浏览器支持HTML5不?不支持的话,就赶快升级吧!

    代码如下:

    <!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>
        <title></title>
        <script type="text/javascript">
            window.onload = function () {
                try {
                    document.createElement("canvas").getContext("2d");//这一步就是创建一个Canvas元素,可以在上面画2d的图像。
    //这一步的作用就是如果你的浏览器支持HTML5,它就执行下面的一句代码,在id="support"的div中显示支持HTML5的提示,否则如果不支持那么就会出错,执行catch代码中的代码。懂了吧!
    document.getElementById(
    "support").innerHTML = "你的浏览器支持HTML5。"; } catch (e) { document.getElementById("support").innerHTML = "你的浏览器不支持HTML5,赶快升级一下吧!"; } } </script> </head> <body> <div id="support"></div> </body> </html>

    由于我升级到IE9了,而IE9是支持的,效果如下图:

    如果你的浏览器是IE9以前的浏览器,你复制上面的一段代码自己去看显示什么吧。

    下面我们在页面上添加一个canvas元素,然后我们可以看到它也可以使用CSS来控制样式。

    <!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>
        <title></title>
        <style type="text/css">
            #diagonal
            {
                border: 1px solid red;
                width: 200px;
                height: 200px;
            }
        </style>
    </head>
    <body>
        <canvas id="diagonal">
        </canvas>
    </body>
    </html>

    下面我们来划一条斜线吧。

    <!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>
        <title></title>
        <style type="text/css">
            #diagonal
            {
                border: 1px solid red;
                width: 200px;
                height: 200px;
            }
        </style>
        <script type="text/javascript">
            function drawDiagonal() {
            //取得canvas元素及其绘图上下文
                var canvas = document.getElementById("diagonal");
                var context = canvas.getContext("2d");//传入"2d"获取二维的上下文。听说传入3d的API工作已完成了,
    //传入“webgl"即可获得三维的上下文,不过我在ie9中试了,结果context为null,看来IE9不支持WEBGL规范。
    //用绝对坐标来创建一条路径 context.beginPath(); context.moveTo(70, 140); context.lineTo(140, 70); //将这条线绘制到canvas画布上去。 context.stroke(); } window.addEventListener("load", drawDiagonal, true); </script> </head> <body> <canvas id="diagonal"> </canvas> </body> </html>

    这里调用了三个方法:beginPath、moveTo和lineTo,传到这条线的起点和终点的坐标。相信大家应该都知道原点(0,0)是在左上角吧。
    方法moveTo和lineTo实际上并不是画线,而是通过调用stroke方法完成线条绘制。效果如下:

    这条以后我感觉显示不对,我就用附件的画图试着找到两个点(70,140)(140,70)画了一下,如下图,要你想不明白你也自己画一下吧!

    像前面的对上下文的很多操作(如果moveTo、lineTo、beginPath、设置样式和外观的函数)都不会直接在页面上显示出来,只有当对路径应用绘制(stroke) or 填充(fill)方法时,才会显示那些操作的结果。

      

    欢迎访问草根帮【https://www.caogenbang.top】 草根帮带你走向人生巅峰,迎娶白富美!!!
  • 相关阅读:
    Linux Shell常用技巧(一)
    使用Native API 创建进程
    Windows操作系统下创建进程的过程
    Windows操作系统下创建进程的过程
    windows运行打开服务命令
    windows运行打开服务命令
    出错提示:“Could not flush the DNS Resolver Cache: 执行期间,函数出了问题”的解决方法
    出错提示:“Could not flush the DNS Resolver Cache: 执行期间,函数出了问题”的解决方法
    对XP上的KiFastSystemCall进行浅析
    对XP上的KiFastSystemCall进行浅析
  • 原文地址:https://www.cnblogs.com/koeltp/p/2707819.html
Copyright © 2011-2022 走看看