<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SamuraiDio &#187; canvas</title>
	<atom:link href="http://blog.diovani.com/tag/canvas/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.diovani.com</link>
	<description>GNU/Linux &#124; PHP &#124; JavaScript</description>
	<lastBuildDate>Fri, 28 May 2010 00:11:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>jQuery.canvasmetter plugin</title>
		<link>http://blog.diovani.com/2010/01/24/jquery-canvasmetter-plugin/</link>
		<comments>http://blog.diovani.com/2010/01/24/jquery-canvasmetter-plugin/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 15:22:25 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/?p=324</guid>
		<description><![CDATA[Há alguns dias criei um plugin para jQuery, para desenhar medidores no estilo barômetros ou marcadores de velocidade, utilizando o elemento &#60;canvas&#62;.

Como um plugin requer uma atenção especial e atualizações periódicas, dediquei para ele uma página deste blog. E também o wave jQuery.canvasmetter, para o pessoal poder participar. Mais informações podem ser encontrados nestes.
Links:
página jQuery.canvasmetter
página [...]]]></description>
			<content:encoded><![CDATA[<p>Há alguns dias criei um plugin para jQuery, para desenhar medidores no estilo barômetros ou marcadores de velocidade, utilizando o elemento &lt;canvas&gt;.</p>
<p><a href="http://blog.diovani.com/wp-content/uploads/2010/01/CanvasMetter_1263859483929.png"><img class="alignnone size-thumbnail wp-image-302" title="screenshot" src="http://blog.diovani.com/wp-content/uploads/2010/01/CanvasMetter_1263859483929-150x150.png" alt="screenshot" width="150" height="150" /></a></p>
<p>Como um plugin requer uma atenção especial e atualizações periódicas, dediquei para ele uma <a href="http://blog.diovani.com/jquery-canvasmetter/">página deste blog</a>. E também o <a href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%252BPOJ7yqi9A">wave jQuery.canvasmetter</a>, para o pessoal poder participar. Mais informações podem ser encontrados nestes.</p>
<p><em>Links:<a href="http://blog.diovani.com/jquery-canvasmetter/"><br />
página jQuery.canvasmetter</a><br />
<a href="http://blog.diovani.com/jquery-canvasmetter/download/">página de download do plugin jQuery.canvasmetter</a><br />
<a href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%252BPOJ7yqi9A">wave jQuery.canvasmetter</a></em></p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">página jQuery.canvasmette</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2010/01/24/jquery-canvasmetter-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gráficos dinâmicos com JavaScript e &lt;canvas&gt;</title>
		<link>http://blog.diovani.com/2008/06/12/graficos-dinamicos-com-javascript-e-canvas/</link>
		<comments>http://blog.diovani.com/2008/06/12/graficos-dinamicos-com-javascript-e-canvas/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 19:20:14 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[gráficos]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/2008/06/12/graficos-dinamicos-com-javascript-e-canvas/</guid>
		<description><![CDATA[É comum encontrarmos scripts para gerar gráficos dinamicamente como imagens, utilizando PHP, ou em Flash, porém também é extremamente fácil gerar gráficos utilizando apenas padrões web, com JavaScript e &#60;canvas&#62; ou SVG.
Recebi hoje um e-mail de um estudante de engenharia elétrica solicitando ajuda para gerar gráficos dinamicamente em um microcontrolador utilizando apenas HTML, CSS, XML [...]]]></description>
			<content:encoded><![CDATA[<p>É comum encontrarmos scripts para gerar gráficos dinamicamente como imagens, utilizando PHP, ou em Flash, porém também é extremamente fácil gerar gráficos utilizando apenas padrões web, com JavaScript e &lt;canvas&gt; ou SVG.</p>
<p>Recebi hoje um e-mail de um estudante de engenharia elétrica solicitando ajuda para gerar gráficos dinamicamente em um microcontrolador utilizando apenas HTML, CSS, XML e JavaScript. Embora sempre tenha utilizado PHP para gerar gráficos em imagens, já sabia que isto seria perfeitamente possível apenas com linguagens client-based, mas nunca me preocupei em desenvolver algo do tipo.</p>
<p>Pesquisando um pouco sobre o assunto, pude encontrar vários plugins e scripts para gerar gráficos utilizando JavaScript, como por exemplo, existem pugins para gerar gráficos utilizando <a href="http://jquery.com/">jQuery</a> ou <a href="http://dojotoolkit.org/">Dojo</a>, mas um que me chamou a atenção é um extremamente simples e fácil de usar, o Javascript <a href="http://webfx.eae.net/dhtml/chart/chart.html" title="Javascript para gerar gráficos dinamicos">Chart Widget</a>.</p>
<p>O script pode desenhar gráficos utilizando &lt;canvas&gt;, SVG ou mesmo &lt;div&gt;. O padrão é que seja utilizado &lt;canvas&gt;, por ser mais rápido e proporcionando um visual mais bonito que os demais, podendo inclusive ser visualizado no MSIE, com a adição do <a href="http://excanvas.sourceforge.net/">JavaScript ExplorerCanvas</a>.</p>
<p>Para utilizar o <em>Chart Widget</em> em uma página, primeiro é necessário adicionar os scripts <em>chart.js</em>,<em> canvaspainter.js </em>e o CSS <em>canvaschart.css</em>, adicionalmente, o <em>excanvas.js</em> deve ser incluído para suporte ao MSIE.</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;includes/excanvas.js&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;includes/chart.js&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;includes/canvaschartpainter.js&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">link</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;includes/canvaschart.css&quot;</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;stylesheet&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/css&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span></pre></div></div>

<p>Após os scripts estarem incluídos corretamente, basta adicionar um elemento &lt;div&gt; ao corpo do documento HTML, com a largura e altura desejadas para exibir o gráfico:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;chart&quot;</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;chart&quot;</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;width: 400px; height: 200px;&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

<p>Então baste adicionar o código Javascript para criar o gráfico. É importante verificar que este código deve ser executado no evendo <em>load</em> da página, ou então ser adicionado logo após o elemento &lt;div&gt; que exibirá o gráfico.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">ieCanvasInit<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'includes/iecanvas.htc'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> c <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Chart<span style="color: #009900;">&#40;</span>document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'chart'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
c.<span style="color: #660066;">setDefaultType</span><span style="color: #009900;">&#40;</span>CHART_AREA <span style="color: #339933;">|</span> CHART_STACKED<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
c.<span style="color: #660066;">setGridDensity</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">5</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
c.<span style="color: #660066;">setVerticalRange</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
c.<span style="color: #660066;">setHorizontalLabels</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'mon'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'tue'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'wed'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'thu'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'fri'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
c.<span style="color: #660066;">add</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'Spam'</span><span style="color: #339933;">,</span>            <span style="color: #3366CC;">'#4040FF'</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span> <span style="color: #CC0000;">5</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">10</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">20</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">10</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">40</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">52</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">68</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">70</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">70</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">60</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
c.<span style="color: #660066;">add</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'Innocent'</span><span style="color: #339933;">,</span>        <span style="color: #3366CC;">'#8080FF'</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span> <span style="color: #CC0000;">8</span><span style="color: #339933;">,</span>  <span style="color: #CC0000;">7</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">12</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">20</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">24</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">16</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">36</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">28</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">28</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">45</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
c.<span style="color: #660066;">add</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'Missed Spam'</span><span style="color: #339933;">,</span>     <span style="color: #3366CC;">'#A5A5FF'</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span> <span style="color: #CC0000;">8</span><span style="color: #339933;">,</span>  <span style="color: #CC0000;">7</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">12</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">20</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">24</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">16</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">36</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">36</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">18</span><span style="color: #339933;">,</span>  <span style="color: #CC0000;">5</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
c.<span style="color: #660066;">add</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'False Positives'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'#DEDEFF'</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span> <span style="color: #CC0000;">1</span><span style="color: #339933;">,</span>  <span style="color: #CC0000;">2</span><span style="color: #339933;">,</span>  <span style="color: #CC0000;">3</span><span style="color: #339933;">,</span>  <span style="color: #CC0000;">2</span><span style="color: #339933;">,</span>  <span style="color: #CC0000;">1</span><span style="color: #339933;">,</span>  <span style="color: #CC0000;">4</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">18</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">12</span><span style="color: #339933;">,</span>  <span style="color: #CC0000;">8</span><span style="color: #339933;">,</span>  <span style="color: #CC0000;">7</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
c.<span style="color: #660066;">draw</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>A primeira linha do script carrega os <em>ExplorerCanvas</em>, sendo necessária para compatibilidade com MSIE, as cinco linhas subseqüentes criam o objeto canvas (importante especificar o id utilizado no div), definem o tipo de gráfico, a densidade da grade do gráfico, a distância vertical, e os rótulos horizontais do gráfico, respectivamente. As linhas a seguir definem as cores e valores de cada linha do gráfico, e a legenda, e o método draw(), finalmente exibe o gráfico.</p>
<p>O resultado, é como exibido na imagem abaixo (lembrando que o resultado real não é uma imagem &lt;img&gt;, mas um elemento &lt;canvas&gt;:</p>
<p style="text-align: center"><img src="http://blog.diovani.com/wp-content/uploads/2008/06/chartwidget.jpg" alt="Exemplo de gráfico gerado com o Chart Widget" /></p>
<p><em>Fonte: <a href="http://webfx.eae.net/dhtml/chart/usage.html">http://webfx.eae.net/dhtml/chart/usage.html</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2008/06/12/graficos-dinamicos-com-javascript-e-canvas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML Canvas &#8211; Desenhando gráficos com HTML e Javascript</title>
		<link>http://blog.diovani.com/2008/04/14/html-canvas-desenhando-graficos-com-html-e-javascript/</link>
		<comments>http://blog.diovani.com/2008/04/14/html-canvas-desenhando-graficos-com-html-e-javascript/#comments</comments>
		<pubDate>Mon, 14 Apr 2008 17:12:38 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/2008/04/14/html-canvas-desenhando-graficos-com-html-e-javascript/</guid>
		<description><![CDATA[A web e seus navegadores já evoluíram muito desde sua concepção em tratando-se de recursos mas ainda há gente que acredita que sobrecarregar páginas com imagens *.GIF e Flash são os únicos métodos de exibir animações na web.
Eu, particularmente, desgosto muito de GIFs animados, acho algo irritante e ultrapassado, e Flash, apesar de seus excelentes [...]]]></description>
			<content:encoded><![CDATA[<p>A web e seus navegadores já evoluíram muito desde sua concepção em tratando-se de recursos mas ainda há gente que acredita que sobrecarregar páginas com imagens *.GIF e Flash são os únicos métodos de exibir animações na web.</p>
<p>Eu, particularmente, desgosto muito de GIFs animados, acho algo irritante e ultrapassado, e Flash, apesar de seus excelentes recursos, tem três pontos negativos: os arquivos costumam ser demasiado grandes, é necessário um plugin proprietário para exibí-los e os usuários não tem acesso aos fontes.</p>
<p>Mas diferente do que muitos acham, a linguagem HTML também evoluiu muito e, sendo integrada com outras linguagens como XML e Javascript, dispõe de outras alternativas.</p>
<p>Imagens <a href="http://pt.wikipedia.org/wiki/SVG">SVG</a> são hoje um padrão que deve ser exibido por qualquer navegador web recente, e estas também aceitam <a href="http://www.w3.org/TR/SVG11/animate.html">animações</a>. Como SVGs são basicamente arquivos XML, elas tendem a ser, desde que usem traços simples, extremamente menores que imagens binárias, e suas animações são implementadas alterando as coordenadas das imagens, e não duplicando-as, como acontece com GIFs.</p>
<p><a href="http://blog.diovani.com/wp-content/uploads/2008/04/canvas_tut_examples.jpg" title="canvas_tut_examples.jpg"><img src="http://blog.diovani.com/wp-content/uploads/2008/04/canvas_tut_examples.thumbnail.jpg" alt="canvas_tut_examples.jpg" align="right" /></a>E existe também o elemento <a href="http://developer.mozilla.org/en/docs/Drawing_Graphics_with_Canvas">&lt;canvas&gt;</a> (que é onde quero chegar), que pode exibir gráficos criados em tempo real e até mesmo animações interativas no navegador. Atualmente compatível com Firefox 1.5+ e Safari.</p>
<p>&lt;canvas&gt; é um novo elemento HTML especificado na documentação do que deverá ser o <a href="http://en.wikipedia.org/wiki/HTML_5">HTML 5</a>, e pode ser usado para desenhar imagens usando linguagens de scripts (geralmente Javascript). Podendo criar composições de fotos e animações simples e até interativas. Veja um exemplo simples a seguir e seu respectivo código:</p>
<p><img src="http://blog.diovani.com/wp-content/uploads/2008/04/canvas_ex1.png" alt="canvas_ex1.png" /></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">html</span>&gt;</span>
 <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">head</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;application/x-javascript&quot;</span>&gt;</span>
    function draw() {
      var canvas = document.getElementById(&quot;canvas&quot;);
      if (canvas.getContext) {
        var ctx = canvas.getContext(&quot;2d&quot;);
&nbsp;
        ctx.fillStyle = &quot;rgb(200,0,0)&quot;;
        ctx.fillRect (10, 10, 55, 50);
&nbsp;
        ctx.fillStyle = &quot;rgba(0, 0, 200, 0.5)&quot;;
        ctx.fillRect (30, 30, 55, 50);
      }
    }
  <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
 <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">head</span>&gt;</span>
 <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">body</span> <span style="color: #000066;">onload</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;draw();&quot;</span>&gt;</span>
   <span style="color: #009900;">&lt;canvas <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;canvas&quot;</span> <span style="color: #000066;">width</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;150&quot;</span> <span style="color: #000066;">height</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;150&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span>canvas&gt;</span>
 <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">body</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">html</span>&gt;</span></pre></div></div>

<p>Desenvolvido originalmente pela Apple para seu Dashboard (os widgets de desktop do Mac OS X) e posteriormente implementado no Safari. Navegadores baseados na engine Gecko 1.8 e posterior também suportam o elemento &lt;canvas&gt;.</p>
<p>Executar Javascript constantemente em uma página deixa a navegação extremamente lenta, estão, o simples relógio exibido na imagem a direita prejudica bastante a navegação, quando em execução. Assim vale lembrar que apesar da praticidade, utilizar o elemento &lt;canvas&gt; pode não ser a melhor opção em alguns casos, mas de qualquer modo é impressionante o que pode-se fazer com ele. Veja alguns exemplos nos links abaixo:</p>
<p><a href="http://blog.diovani.com/wp-content/uploads/2008/04/canvas_raycaster.jpg" title="Raycaster"><img src="http://blog.diovani.com/wp-content/uploads/2008/04/canvas_raycaster.thumbnail.jpg" alt="Raycaster" /></a> Um <a href="http://developer.mozilla.org/en/docs/A_Basic_RayCaster">labirinto interativo</a> feito em &lt;canvas&gt;</p>
<p><a href="http://blog.diovani.com/wp-content/uploads/2008/04/canvas_reflect.jpg" title="Reflect"><img src="http://blog.diovani.com/wp-content/uploads/2008/04/canvas_reflect.thumbnail.jpg" alt="Reflect" /></a> Um efeito de <a href="http://timelessname.com/canvas/experiment01/">reflexão tipo água</a> de imagens</p>
<p><a href="http://blog.diovani.com/wp-content/uploads/2008/04/canvas_paint.jpg" title="Canvas Paint"><img src="http://blog.diovani.com/wp-content/uploads/2008/04/canvas_paint.thumbnail.jpg" alt="Canvas Paint" /></a> Um <a href="http://caimansys.com/painter/">editor de imagens</a> como o Ms Paint</p>
<p><a href="http://blog.diovani.com/wp-content/uploads/2008/04/canvas_mario.jpg" title="Mario Game"><img src="http://blog.diovani.com/wp-content/uploads/2008/04/canvas_mario.thumbnail.jpg" alt="Mario Game" /></a> O melhor. Um <a href="http://blog.nihilogic.dk/2008/04/super-mario-in-14kb-javascript.html">clone do jogo Mario</a>, do Nintendinho, que um amigo divulgou <a href="http://the.blog.br/2008/04/09/super-mario-em-javascript-apenas-14-kb/">aqui</a>, feito inteiramente com &lt;canvas&gt; (ele também tem uma versão usando DIVs, para funcionar no IE), e sem nenhuma imagem.</p>
<p>Vale lembrar que estes demos só funcionam no Firefox e Safari.</p>
<p><em>Fonte: <a href="http://developer.mozilla.org/en/docs/Canvas_tutorial">MDC: Canvas Tutorial</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2008/04/14/html-canvas-desenhando-graficos-com-html-e-javascript/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
