zoukankan      html  css  js  c++  java
  • 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-Type" content="text/html; charset=utf-8" />
    <title>简单直线路径</title>
    <script src="js/modernizr.js"></script>
    </head>
    
    <body>
    <script type="text/javascript">
    window.addEventListener('load',eventWindowLoaded,false);
    function eventWindowLoaded(){
    	canvasApp();
    }
    function canvasSupport(){
    	return Modernizr.canvas;
    }
    function canvasApp(){
    	if(!canvasSupport()){
    		return;
    	}else{
    		var theCanvas = document.getElementById('canvas')
    		var context = theCanvas.getContext("2d")
    
    	}
    	drawScreen();
        function drawScreen(){
    	context.strokeStyle='#ff00ff'    
    	context.lineWidth=10;
            context.lineGap='square';
            context.beginPath();
            context.moveTo(20,0);
            context.lineTo(100,0);
            context.stroke();
            context.closePath();
    }
    	
    }
    
    
    </script>
    <canvas id="canvas" width="500" height="500">
    你的浏览器无法使用canvas
    如有疑问加QQ:1035417613;小白童鞋;你的支持是我最大的快乐!!
    </canvas>
    </body>
    </html>
    

    写到这篇的时候莫名有种大学里面上计算图形学第一张如何画一个直线(DDA算法)

    设直线通过点
    ,则直线方程可表示为:
    如果已知第
    点的坐标,可用步长
    得到第
    点的坐标为:
     
     

    将算得的直线上每个点的当前坐标,按四舍五入得到光栅点的位置。

    好了以下是正文

    我简单的写了个10像素宽的线条

    从(20,0)到(100,0)。

    添加了2个以前没用到的属性

    lineCap定义上下文中线的端点:butt端点是垂直于线段边缘的平直边缘

    round端点是在线段边缘处以线宽为直径的半圆

    square:端点是在选段边缘处以线宽为长,以一般线宽为宽的矩形

    lineJoin定义了两条线相交产生的拐角

    miter 在连接外边缘盐城详解

    bevel。连接处是一个对角线斜角

    round。连接处是一个圆

    lineWidth定义线的宽度(简称线宽)

    strokeStyle定义先和形状边框的颜色和样式

  • 相关阅读:
    出现java.lang.UnsupportedClassVersionError 错误的原因
    java.lang.NoClassDefFoundError: javax/transaction/SystemException
    Hibernate参考文档学习笔记——Hibernate入门(二)
    图解Ant安装配置
    Hibernate参考文档学习笔记——Hibernate入门(一)
    scanf用在gets等函数之前会出现什么问题
    转向Web
    大道至简
    xdebug远程调试Vagrant虚拟机中web程序的注意点
    多个ssh private key的管理办法
  • 原文地址:https://www.cnblogs.com/LoveOrHate/p/4388767.html
Copyright © 2011-2022 走看看