Html 如何在Web2.0中绘图?

Html 如何在Web2.0中绘图?,html,drawing,Html,Drawing,我听说Web2.0将支持绘图能力 试图在互联网上找到一些东西,没有什么真正清楚的。你能告诉我一些允许(或者将来允许)用HTML绘制的东西吗 例如:我想有能力在页面上画几个不同颜色的六边形 谢谢 顺便说一句,如果这个问题有点“愚蠢”,我很抱歉,但我不能让它变得更聪明。你说的很可能是HTML5我怀疑你已经听说了画布元素。您可以在此处开始使用它: 祝你好运 一个你想做什么的快速示例: <html> <head> <title>Hexagon canvas

我听说Web2.0将支持绘图能力

试图在互联网上找到一些东西,没有什么真正清楚的。你能告诉我一些允许(或者将来允许)用HTML绘制的东西吗

例如:我想有能力在页面上画几个不同颜色的六边形

谢谢


顺便说一句,如果这个问题有点“愚蠢”,我很抱歉,但我不能让它变得更聪明。

你说的很可能是HTML5

我怀疑你已经听说了画布元素。您可以在此处开始使用它:


祝你好运

一个你想做什么的快速示例:

<html>
  <head>
    <title>Hexagon canvas tutorial</title>
    <script type="text/javascript">
      function draw(){
        //first let's get canvas HTML Element to draw something on it
        var canvas = document.getElementById('tutorial');
        //then let's see if the browser supports canvas element
        if (canvas.getContext){
          var ctx = canvas.getContext('2d');

            //Pick Hexagon color, this one will be blue
            ctx.fillStyle = "rgb(0, 0, 255)";
            //let's start a path
            ctx.beginPath();
            //move cursor to position x=10 and y=60, and move it around to create an hexagon
            ctx.moveTo(10,60);
            ctx.lineTo(40,100);
            ctx.lineTo(80,100);
            ctx.lineTo(110,60);
            ctx.lineTo(80,20);
            ctx.lineTo(40,20);
            //fill it and you got your first Hexagon
            ctx.fill();

            //This one will be green, but we will draw it like the first one
            ctx.fillStyle = "rgb(0, 255, 0)";
            ctx.beginPath();
            ctx.moveTo(110,160);
            ctx.lineTo(140,200);
            ctx.lineTo(180,200);
            ctx.lineTo(210,160);
            ctx.lineTo(180,120);
            ctx.lineTo(140,120);
            ctx.fill();
        }
      }
    </script>
    <style type="text/css">
      canvas { border: 1px solid black; }
    </style>
  </head>
  <body onload="draw();">
    <canvas id="tutorial" width="300" height="300"></canvas>
  </body>
</html>

六边形画布教程
函数绘图(){
//首先让我们使用canvasHTML元素在上面绘制一些东西
var canvas=document.getElementById('tutorial');
//然后让我们看看浏览器是否支持canvas元素
if(canvas.getContext){
var ctx=canvas.getContext('2d');
//选择六边形颜色,这一个将是蓝色的
ctx.fillStyle=“rgb(0,0255)”;
//让我们开始一条路径
ctx.beginPath();
//将光标移动到x=10和y=60的位置,然后四处移动以创建六边形
ctx.moveTo(10,60);
ctx.lineTo(40100);
ctx.lineTo(80100);
ctx.lineTo(110,60);
ctx.lineTo(80,20);
ctx.lineTo(40,20);
//填满它,你就得到了你的第一个六边形
ctx.fill();
//这个将是绿色的,但我们将像第一个一样绘制它
ctx.fillStyle=“rgb(0,255,0)”;
ctx.beginPath();
ctx.moveTo(110160);
ctx.lineTo(140200);
ctx.lineTo(180200);
ctx.lineTo(210160);
ctx.lineTo(180120);
ctx.lineTo(140120);
ctx.fill();
}
}
画布{边框:1px纯黑;}

非常感谢您的快速示例。如果我们进一步尝试改变六边形的颜色?猜猜看,我们可以捕捉画布上的“OnMouseOver”,如果鼠标光标位于所需的六边形内。。。我们需要用另一种颜色重新绘制相同的坐标。。。或是否有可能得到已经绘制的对象并仅仅更改其颜色?HTML5画布被解释为一个图像,因此将事件附加到他的元素可能非常棘手。明天我会看一看这个,如果我发现了什么,我会给你反馈。我非常感谢你的帮助!等待想法!谢谢我做了一些调查,没有找到任何方法将事件附加到绘制的元素,也没有在不重新绘制的情况下对画布元素进行更改。基本上,如果你想改变六边形的颜色,你必须清除画布并用新的填充颜色重新绘制。非常感谢你的时间和帮助!感谢您的快速回答,但链接似乎broken@Budda:真的吗?对我来说很好。但是我发现你已经得到了你所需要的帮助(你是“傻瓜”——一点也不,你的问题很清楚。提到“Web2.0”听起来有点生疏,因为这是一个模糊的营销术语,没有具体的含义。在HTML绘图的上下文中,支持它的是HTML5。不过,把它放在问题中并没有什么错,因为其他人可能也有同样的联想,所以他们可以通过谷歌在这里找到答案。