<?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>Sentido Web &#187; canvas</title>
	<atom:link href="http://sentidoweb.com/tag/canvas/feed" rel="self" type="application/rss+xml" />
	<link>http://sentidoweb.com</link>
	<description>Desarrollo web, HTML, CSS, Javascript, PHP, MySQL</description>
	<lastBuildDate>Mon, 16 Jan 2012 10:16:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>PDF.js librería Javascript para leer PDF en Canvas</title>
		<link>http://sentidoweb.com/2011/06/15/pdf-js-libreria-javascript-para-leer-pdf-en-canvas.php</link>
		<comments>http://sentidoweb.com/2011/06/15/pdf-js-libreria-javascript-para-leer-pdf-en-canvas.php#comments</comments>
		<pubDate>Wed, 15 Jun 2011 16:48:49 +0000</pubDate>
		<dc:creator>displaynone</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[pdf]]></category>

		<guid isPermaLink="false">http://sentidoweb.com/?p=2737</guid>
		<description><![CDATA[Interesante librería Javascript que nos permite mostrar en Canvas (HTML5) el contenido de un PDF. Puede venir muy bien para aplicaciones móviles, ya que en navegación en escritorio normalmente la gente tiene instalado un visor de PDFs. &#60;html&#62; &#60;head&#62; &#60;title&#62;Simple pdf.js page viewer&#60;/title&#62; &#60;script type="text/javascript" src="pdf.js"&#62;&#60;/script&#62; &#60;style type"text/css"&#62; body { margin: 6px; padding: 0px; background-color: [...]]]></description>
			<content:encoded><![CDATA[<p>Interesante librería Javascript que nos permite mostrar en Canvas (HTML5) el contenido de un PDF. Puede venir muy bien para aplicaciones móviles, ya que en navegación en escritorio normalmente la gente tiene instalado un visor de PDFs.</p>
<pre><code><pre class="html"><span style="color: #009900;"><a href="http://december.com/html/4/element/html.html"><span style="color: #000000; font-weight: bold;">&lt;html&gt;</span></a></span>
<span style="color: #009900;"><a href="http://december.com/html/4/element/head.html"><span style="color: #000000; font-weight: bold;">&lt;head&gt;</span></a></span>
  <span style="color: #009900;"><a href="http://december.com/html/4/element/title.html"><span style="color: #000000; font-weight: bold;">&lt;title&gt;</span></a></span>Simple pdf.js page viewer<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/title&gt;</span></span>
  <span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000; font-weight: bold;">&lt;script</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span>
          <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"pdf.js"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/script&gt;</span></span>
  <span style="color: #009900;"><a href="http://december.com/html/4/element/style.html"><span style="color: #000000; font-weight: bold;">&lt;style</span></a> <span style="color: #000066;">type</span><span style="color: #ff0000;">"text/css"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span>
body {
  margin: 6px;
  padding: 0px;
  background-color: #c0bdb7;
}
#controls {
  border-bottom: 1px solid black;
  position:fixed;
  left: 0px; top: 0px;
  width: 100%;
  padding: 7px;
  background-color: rgb(242, 240, 238);
}
span#info {
  float: right;
  font: 14px sans-serif;
  margin-right: 10px;
}
#viewer {
  margin: auto;
  border: 1px solid black;
  width: 8.5in;
  height: 11in;
}
#pageNumber {
  text-align: right;
}
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/style&gt;</span></span>
&nbsp;
<span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000; font-weight: bold;">&lt;script</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span>
function queryParams() {
    var qs = window.location.search.substring(1);
    var kvs = qs.split(&quot;<span style="color: #ddbb00;">&amp;&quot;);</span>
    var params = { };
    for (var i = 0; i <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;</span></a> kvs.length; ++i<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
        var kv = kvs<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>.split<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"="</span><span style="color: #66cc66;">&#41;</span>;
        params<span style="color: #66cc66;">&#91;</span>unescape<span style="color: #66cc66;">&#40;</span>kv<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span> = unescape<span style="color: #66cc66;">&#40;</span>kv<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #66cc66;">&#125;</span>
    return params;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
var canvas, numPages, pageDisplay, pageNum;
function load<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    canvas = document.getElementById<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"canvas"</span><span style="color: #66cc66;">&#41;</span>;
    canvas.mozOpaque = true;
    pageDisplay = document.getElementById<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"pageNumber"</span><span style="color: #66cc66;">&#41;</span>;
    infoDisplay = document.getElementById<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"info"</span><span style="color: #66cc66;">&#41;</span>;
    pageNum = parseInt<span style="color: #66cc66;">&#40;</span>queryParams<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.page<span style="color: #66cc66;">&#41;</span> || <span style="color: #cc66cc;">1</span>;
    fileName = queryParams<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.file || <span style="color: #ff0000;">"compressed.tracemonkey-pldi-09.pdf"</span>;
    open<span style="color: #66cc66;">&#40;</span>fileName<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
function open<span style="color: #66cc66;">&#40;</span>url<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    document.title = url;
    req = new XMLHttpRequest<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
    req.open<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"GET"</span>, url<span style="color: #66cc66;">&#41;</span>;
    req.mozResponseType = req.responseType = <span style="color: #ff0000;">"arraybuffer"</span>;
    req.expected = <span style="color: #66cc66;">&#40;</span>document.URL.indexOf<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"file:"</span><span style="color: #66cc66;">&#41;</span> == <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> ? <span style="color: #cc66cc;">0</span> : <span style="color: #cc66cc;">200</span>;
    req.onreadystatechange = xhrstate;
    req.send<span style="color: #66cc66;">&#40;</span>null<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
function xhrstate<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    if <span style="color: #66cc66;">&#40;</span>req.readyState == <span style="color: #cc66cc;">4</span> &amp;&amp; req.status == req.expected<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
        var <span style="color: #000066;">data</span> = req.mozResponseArrayBuffer ||
                   req.mozResponse ||
                   req.responseArrayBuffer ||
                   req.response;
        pdf = new PDFDoc<span style="color: #66cc66;">&#40;</span>new Stream<span style="color: #66cc66;">&#40;</span><span style="color: #000066;">data</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
        numPages = pdf.numPages;
        document.getElementById<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"numPages"</span><span style="color: #66cc66;">&#41;</span>.innerHTML = numPages.toString<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
        gotoPage<span style="color: #66cc66;">&#40;</span>pageNum<span style="color: #66cc66;">&#41;</span>;
    <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
function displayPage<span style="color: #66cc66;">&#40;</span>num<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    pageDisplay.value = num;
&nbsp;
    var t0 = Date.now<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    var page = pdf.getPage<span style="color: #66cc66;">&#40;</span>pageNum = num<span style="color: #66cc66;">&#41;</span>;
&nbsp;
    var t1 = Date.now<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    var ctx = canvas.getContext<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"2d"</span><span style="color: #66cc66;">&#41;</span>;
    ctx.save<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
    ctx.fillStyle = <span style="color: #ff0000;">"rgb(255, 255, 255)"</span>;
    ctx.fillRect<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, canvas.width, canvas.height<span style="color: #66cc66;">&#41;</span>;
    ctx.restore<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    var gfx = new CanvasGraphics<span style="color: #66cc66;">&#40;</span>ctx<span style="color: #66cc66;">&#41;</span>;
&nbsp;
    // page.compile will collect all fonts <span style="color: #000066;">for</span> us, once we have loaded them
    // we can trigger the actual page rendering with page.display
    var fonts = <span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span>;
    page.compile<span style="color: #66cc66;">&#40;</span>gfx, fonts<span style="color: #66cc66;">&#41;</span>;
&nbsp;
    var t2 = Date.now<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    // This should be called when font loading is complete
    page.display<span style="color: #66cc66;">&#40;</span>gfx<span style="color: #66cc66;">&#41;</span>;
&nbsp;
    var t3 = Date.now<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    infoDisplay.innerHTML = <span style="color: #ff0000;">"Time to load/compile/render: "</span>+ <span style="color: #66cc66;">&#40;</span>t1 - t0<span style="color: #66cc66;">&#41;</span> + <span style="color: #ff0000;">"/"</span> + <span style="color: #66cc66;">&#40;</span>t2 - t1<span style="color: #66cc66;">&#41;</span> + <span style="color: #ff0000;">"/"</span> + <span style="color: #66cc66;">&#40;</span>t3 - t2<span style="color: #66cc66;">&#41;</span> + <span style="color: #ff0000;">" ms"</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
function nextPage<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    if <span style="color: #66cc66;">&#40;</span>pageNum <span style="color: #000000; font-weight: bold;">&lt;</span></a> numPages<span style="color: #66cc66;">&#41;</span>
        ++pageNum;
    displayPage<span style="color: #66cc66;">&#40;</span>pageNum<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
function prevPage<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    if <span style="color: #66cc66;">&#40;</span>pageNum <span style="color: #000000; font-weight: bold;">&gt;</span></a></span> 1)
        --pageNum;
    displayPage(pageNum);
}
function gotoPage(num) {
    if (0 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;</span></a>= num &amp;&amp; num <span style="color: #000000; font-weight: bold;">&lt;</span></a>= numPages<span style="color: #66cc66;">&#41;</span>
        pageNum = num;
    displayPage<span style="color: #66cc66;">&#40;</span>pageNum<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
  <span style="color: #000000; font-weight: bold;">&lt;/script&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/head&gt;</span></span>
&nbsp;
<span style="color: #009900;"><a href="http://december.com/html/4/element/body.html"><span style="color: #000000; font-weight: bold;">&lt;body</span></a> <span style="color: #000066;">onload</span>=<span style="color: #ff0000;">"load();"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span>
  <span style="color: #009900;"><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">&lt;div</span></a> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"controls"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span>
    <span style="color: #009900;"><a href="http://december.com/html/4/element/button.html"><span style="color: #000000; font-weight: bold;">&lt;button</span></a> <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">"prevPage();"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span>Previous<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/button&gt;</span></span>
    <span style="color: #009900;"><a href="http://december.com/html/4/element/button.html"><span style="color: #000000; font-weight: bold;">&lt;button</span></a> <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">"nextPage();"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span>Next<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/button&gt;</span></span>
    <span style="color: #009900;"><a href="http://december.com/html/4/element/input.html"><span style="color: #000000; font-weight: bold;">&lt;input</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text"</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"pageNumber"</span> <span style="color: #000066;">onchange</span>=<span style="color: #ff0000;">"gotoPage(this.value);"</span>
           <span style="color: #000066;">value</span>=<span style="color: #ff0000;">"1"</span> <span style="color: #000066;">size</span>=<span style="color: #ff0000;">"4"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/input&gt;</span></span>
    / <span style="color: #009900;"><a href="http://december.com/html/4/element/span.html"><span style="color: #000000; font-weight: bold;">&lt;span</span></a> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"numPages"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span>--<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/span&gt;</span></span>
    <span style="color: #009900;"><a href="http://december.com/html/4/element/span.html"><span style="color: #000000; font-weight: bold;">&lt;span</span></a> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"info"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/span&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div&gt;</span></span>
  <span style="color: #009900;"><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">&lt;div</span></a> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"viewer"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span>
    <span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- Canvas dimensions must be specified in CSS pixels.  CSS pixels
      -- are always 96 dpi.  These dimensions are 8.5x11in at 96dpi. --&gt;</span></span>
    <span style="color: #009900;">&lt;canvas <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"canvas"</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">"816"</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">"1056"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;</span></a>/canvas&gt;</span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/body&gt;</span></span>
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/html&gt;</span></span></pre></code></pre>
<p><a href="https://github.com/andreasgal/pdf.js">PDF.js</a></p>
<p>Vía / <a href="http://twitter.com/#!/badass_js/status/81002447287484416">@badass_js</a></p>]]></content:encoded>
			<wfw:commentRss>http://sentidoweb.com/2011/06/15/pdf-js-libreria-javascript-para-leer-pdf-en-canvas.php/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Heatmap en tiempo real con Javascript y Canvas</title>
		<link>http://sentidoweb.com/2010/11/09/heatmap-en-tiempo-real-con-javascript-y-canvas.php</link>
		<comments>http://sentidoweb.com/2010/11/09/heatmap-en-tiempo-real-con-javascript-y-canvas.php#comments</comments>
		<pubDate>Tue, 09 Nov 2010 19:52:01 +0000</pubDate>
		<dc:creator>displaynone</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Quicklinks]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[heatmap]]></category>

		<guid isPermaLink="false">http://www.webappers.com/2010/11/02/real-time-heatmap-with-javascript-html-canvas-element/</guid>
		<description><![CDATA[Los heatmaps son muy útiles para ver qué zonas de nuestras webs atraen la atención de los usuarios. Esta función de Javascript permite mostrar en tiempo real el heatmap que se va produciendo gracias a Javascript y el elemento HTML de Canvas. Real-time heatmap example with Javascript and HTMLCanvas Post originalVía / WebAppers]]></description>
			<content:encoded><![CDATA[<p>Los heatmaps son muy útiles para ver qué zonas de nuestras webs atraen la atención de los usuarios. Esta función de Javascript permite mostrar en tiempo real el heatmap que se va produciendo gracias a Javascript y el elemento HTML de Canvas.</p>
<p><img src="http://sentidoweb.com/wp-content/uploads/2010/11/heatmap.png" alt="" title="heatmap" width="299" height="294" class="center" /></p>
<p><a href="http://www.patrick-wied.at/static/heatmap/">Real-time heatmap example with Javascript and HTMLCanvas</a></p>
<p><a href="http://www.webappers.com/2010/11/02/real-time-heatmap-with-javascript-html-canvas-element/" title="Real-time Heatmap with Javascript &amp; HTML Canvas Element">Post originalVía / WebAppers</a></p>]]></content:encoded>
			<wfw:commentRss>http://sentidoweb.com/2010/11/09/heatmap-en-tiempo-real-con-javascript-y-canvas.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Close Pixelate: pixela imágenes con HTML5</title>
		<link>http://sentidoweb.com/2010/10/20/close-pixelate-pixela-imagenes-con-html5.php</link>
		<comments>http://sentidoweb.com/2010/10/20/close-pixelate-pixela-imagenes-con-html5.php#comments</comments>
		<pubDate>Wed, 20 Oct 2010 17:25:18 +0000</pubDate>
		<dc:creator>displaynone</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Quicklinks]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[imagen]]></category>
		<category><![CDATA[pixelate]]></category>

		<guid isPermaLink="false">http://www.webappers.com/2010/10/19/convert-images-into-a-pixelated-version-with-close-pixelate/</guid>
		<description><![CDATA[Close Pixelate es un script que convierte una imagen en su correspondiente pixelada haciendo uso de HTML5 y canvas. Se le pueden indicar las siguientes opciones: resolución, forma del pixelado, tamaño, desplazamiento y canal alpha Su uso es tan sencillo como ejecutar lo siguiente: var docReady = function&#40;&#41; &#123; document.getElementById&#40;'portrait-image'&#41;.closePixelate&#40;&#91; &#123; resolution : 24 &#125;, [...]]]></description>
			<content:encoded><![CDATA[<p>Close Pixelate es un script que convierte una imagen en su correspondiente pixelada haciendo uso de HTML5 y canvas. Se le pueden indicar las siguientes opciones: resolución, forma del pixelado, tamaño, desplazamiento y canal alpha</p>
<p><img src="http://sentidoweb.com/wp-content/uploads/2010/10/canvas.png" alt="" title="canvas" width="500" height="313" class="center" /></p>
<p>Su uso es tan sencillo como ejecutar lo siguiente:</p>
<pre><code><pre class="javascript"><span style="color: #003366; font-weight: bold;">var</span> docReady = <span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
  document.<span style="color: #006600;">getElementById</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'portrait-image'</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">closePixelate</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#91;</span>
    <span style="color: #66cc66;">&#123;</span> resolution : <span style="color: #CC0000;">24</span> <span style="color: #66cc66;">&#125;</span>,
    <span style="color: #66cc66;">&#123;</span> shape : <span style="color: #3366CC;">'circle'</span>, resolution : <span style="color: #CC0000;">24</span>, size: <span style="color: #CC0000;">16</span>, offset: <span style="color: #CC0000;">12</span>, alpha: <span style="color: #CC0000;">0</span>.<span style="color: #CC0000;">5</span> <span style="color: #66cc66;">&#125;</span>
  <span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>;
window.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> <span style="color: #3366CC;">'DOMContentLoaded'</span>, docReady, <span style="color: #003366; font-weight: bold;">false</span><span style="color: #66cc66;">&#41;</span>;</pre></code></pre>
<p><a href="http://desandro.com/resources/close-pixelate/">Close Pixelate</a></p>
<p>Vía / <a href="http://www.webappers.com/2010/10/19/convert-images-into-a-pixelated-version-with-close-pixelate/" title="Convert Images into a Pixelated Version with Close Pixelate">WebAppers</a></p>]]></content:encoded>
			<wfw:commentRss>http://sentidoweb.com/2010/10/20/close-pixelate-pixela-imagenes-con-html5.php/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Manipular vídeos con HTML5 y canvas</title>
		<link>http://sentidoweb.com/2010/10/20/manipular-videos-con-html5-y-canvas.php</link>
		<comments>http://sentidoweb.com/2010/10/20/manipular-videos-con-html5-y-canvas.php#comments</comments>
		<pubDate>Wed, 20 Oct 2010 16:16:24 +0000</pubDate>
		<dc:creator>displaynone</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Quicklinks]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[efectos]]></category>
		<category><![CDATA[filtros]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://html5doctor.com/video-canvas-magic/</guid>
		<description><![CDATA[Increíbles ejemplos de cómo manipular vídeos en directo aplicando filtros gracias a HTML5 y canvas. Los ejemplos nos muestra cómo se reproduce un vídeo y se muestra el mismo vídeo con efecto de escala de grises o detección de contornos. Realmente increíble. Post original]]></description>
			<content:encoded><![CDATA[<p>Increíbles ejemplos de cómo manipular vídeos en directo aplicando filtros gracias a HTML5 y canvas. Los ejemplos nos muestra cómo se reproduce un vídeo y se muestra el mismo vídeo con efecto de escala de grises o detección de contornos. Realmente increíble.</p>
<p><img src="http://sentidoweb.com/wp-content/uploads/2010/10/video_canvas_fig4.jpg" alt="" title="video_canvas_fig4" width="600" height="226" class="center" /></p>
<p><a href="http://html5doctor.com/video-canvas-magic/" title="video + canvas = magic">Post original</a></p>]]></content:encoded>
			<wfw:commentRss>http://sentidoweb.com/2010/10/20/manipular-videos-con-html5-y-canvas.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Modernizr: librería Javascript para detectar HTML5, CSS3 y más</title>
		<link>http://sentidoweb.com/2010/08/17/modernizr-libreria-javascript-para-detectar-html5-css3-y-mas.php</link>
		<comments>http://sentidoweb.com/2010/08/17/modernizr-libreria-javascript-para-detectar-html5-css3-y-mas.php#comments</comments>
		<pubDate>Tue, 17 Aug 2010 08:27:19 +0000</pubDate>
		<dc:creator>displaynone</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[html5]]></category>

		<guid isPermaLink="false">http://sentidoweb.com/?p=2495</guid>
		<description><![CDATA[Modernizr es una librería que permite detectar las nuevas características de HTML5, CSS3, Canvas, &#8230; que admite el navegador. Tan sólo habrá que acceder a propiedades para saber si admite o no una característica en particular: if &#40;Modernizr.geolocation&#41; &#123; // Admite geolocalizaci&#195;&#179;n &#125; if &#40;Modernizr.csstransitions&#41; &#123; // Transacciones CSS &#125; if &#40;Modernizr.rgba&#41; &#123; // RGBA [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Modernizr</strong> es una librería que permite detectar las nuevas características de HTML5, CSS3, Canvas, &#8230; que admite el navegador. Tan sólo habrá que acceder a propiedades para saber si admite o no una característica en particular:</p>
<pre><code><pre class="javascript"><span style="color: #000066; font-weight: bold;">if</span> <span style="color: #66cc66;">&#40;</span>Modernizr.<span style="color: #006600;">geolocation</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
  <span style="color: #009900; font-style: italic;">// Admite geolocalizaci&Atilde;&sup3;n</span>
<span style="color: #66cc66;">&#125;</span>
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #66cc66;">&#40;</span>Modernizr.<span style="color: #006600;">csstransitions</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
  <span style="color: #009900; font-style: italic;">// Transacciones CSS</span>
<span style="color: #66cc66;">&#125;</span>
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #66cc66;">&#40;</span>Modernizr.<span style="color: #006600;">rgba</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
  <span style="color: #009900; font-style: italic;">// RGBA</span>
<span style="color: #66cc66;">&#125;</span></pre></code></pre>
<p>Las características que detecta son:</p>
<ul><li>@font-face</li>
<li>Canvas</li>
<li>Canvas Text</li>
<li>HTML5 Audio</li>
<li>HTML5 Audio formats</li>
<li>HTML5 Video</li>
<li>HTML5 Video formats</li>
<li>rgba()</li>
<li>hsla()</li>
<li>border-image</li>
<li>border-radius</li>
<li>box-shadow</li>
<li>Multiple backgrounds</li>
<li>opacity</li>
<li>CSS Animations</li>
<li>CSS Columns</li>
<li>CSS Gradients</li>
<li>CSS Reflections</li>
<li>CSS 2D Transforms</li>
<li>CSS 3D Transforms</li>
<li>CSS Transitions</li>
<li>Geolocation API</li>
<li>Input Types</li>
<li>Input Attributes</li>
<li>localStorage</li>
<li>sessionStorage</li>
<li>Web Workers</li>
<li>applicationCache</li>
<li>SVG</li>
<li>SVG Clip paths</li>
<li>SMIL</li>
<li>Web SQL Database</li>
<li>IndexedDB</li>
<li>Web Sockets</li>
<li>hashchange Event</li>
<li>History Management</li>
<li>Drag and Drop</li>
<li>Cross-window Messaging</li></ul>
<p><a href="http://www.modernizr.com/">Modernizr</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sentidoweb.com/2010/08/17/modernizr-libreria-javascript-para-detectar-html5-css3-y-mas.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jsMSX: emulador de MSX con Javascript y Canvas</title>
		<link>http://sentidoweb.com/2009/06/25/jsmsx-emulador-de-msx-con-javascript-y-canvas.php</link>
		<comments>http://sentidoweb.com/2009/06/25/jsmsx-emulador-de-msx-con-javascript-y-canvas.php#comments</comments>
		<pubDate>Thu, 25 Jun 2009 16:30:00 +0000</pubDate>
		<dc:creator>displaynone</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[canvas]]></category>

		<guid isPermaLink="false">http://sentidoweb.com/2009/06/25/jsmsx-emulador-de-msx-con-javascript-y-canvas.php</guid>
		<description><![CDATA[MSX es un ordenador de hace la tira de años que cuando eramos pequeños nos parecía increíble y que ahora nos parece paleolítico. jsMSX es un emulador realizado en Javascript y Canvas que permite ejecutar juegos para ese sistema. En sí la aplicación no tiene mucha utilidad, pero es interesante desde el punto de vista [...]]]></description>
			<content:encoded><![CDATA[<a href="http://es.wikipedia.org/wiki/MSX">MSX</a> es un ordenador de hace la tira de años que cuando eramos pequeños nos parecía increíble y que ahora nos parece paleolítico. <strong>jsMSX</strong> es un emulador realizado en Javascript y Canvas que permite ejecutar juegos para ese sistema.
<img alt="jsmsx.png" src="http://sentidoweb.com/img/2009/06/jsmsx.png" width="262" height="200" class="center" />
En sí la aplicación no tiene mucha utilidad, pero es interesante desde el punto de vista de lo que se está consiguiendo mediante Javascript y Canvas.
<a href="http://jsmsxdemo.googlepages.com/jsmsx.html">jsMSX</a>
Via / <a href="http://youare.com/lardissone/2009/06/23/1678532">@lardissone</a>
]]></content:encoded>
			<wfw:commentRss>http://sentidoweb.com/2009/06/25/jsmsx-emulador-de-msx-con-javascript-y-canvas.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Efecto de escala de grises para navegadores no IE</title>
		<link>http://sentidoweb.com/2009/05/13/efecto-de-escala-de-grises-para-navegadores-no-ie.php</link>
		<comments>http://sentidoweb.com/2009/05/13/efecto-de-escala-de-grises-para-navegadores-no-ie.php#comments</comments>
		<pubDate>Wed, 13 May 2009 20:30:00 +0000</pubDate>
		<dc:creator>displaynone</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[greyscale]]></category>
		<category><![CDATA[gris]]></category>

		<guid isPermaLink="false">http://sentidoweb.com/2009/05/13/efecto-de-escala-de-grises-para-navegadores-no-ie.php</guid>
		<description><![CDATA[Interesante script que realiza el efecto de escala de grises en cualquier imagen o elementos HTML. Funciona para navegadores que permiten canvas, IE ya tiene un filtro que lo realiza. Su uso es muy sencillo, tan sólo importar la librería y ejecutar el siguiente código: grayscale&#40; document.getElementsByTagName&#40;'div'&#41; &#41;; &#8220;Grayscaling&#8221; in non-IE browser Vía / Script [...]]]></description>
			<content:encoded><![CDATA[<p>Interesante script que realiza el efecto de escala de grises en cualquier imagen o elementos HTML. Funciona para navegadores que permiten canvas, IE ya tiene un filtro que lo realiza.</p>
<p>Su uso es muy sencillo, tan sólo importar la librería y ejecutar el siguiente código:</p>
<pre><code><pre class="php">grayscale<span style="color: #66cc66;">&#40;</span> document.getElementsByTagName<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'div'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;</pre></code></pre>
<p><a href="http://james.padolsey.com/javascript/grayscaling-in-non-ie-browsers/">&#8220;Grayscaling&#8221; in non-IE browser</a></p>
<p>Vía / <a href="http://scriptandstyle.com/submissions/grayscaling-in-non-ie-browsers">Script &amp; Style</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sentidoweb.com/2009/05/13/efecto-de-escala-de-grises-para-navegadores-no-ie.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crear gráficas accesibles con jQuery y canvas</title>
		<link>http://sentidoweb.com/2009/03/26/crear-graficas-accesibles-con-jquery-y-canvas.php</link>
		<comments>http://sentidoweb.com/2009/03/26/crear-graficas-accesibles-con-jquery-y-canvas.php#comments</comments>
		<pubDate>Thu, 26 Mar 2009 20:30:00 +0000</pubDate>
		<dc:creator>displaynone</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Accesibilidad]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[graficas]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://sentidoweb.com/2009/03/26/crear-graficas-accesibles-con-jquery-y-canvas.php</guid>
		<description><![CDATA[Buen plugin para jQuery que permite crear gráficas de datos accesibles mediante canvas. El script es bastante fácil de usar, se crea una tabla (sí, si, con &#60;table&#62;, que es para lo que se deben usar), y el script dibuja los datos en un canvas. Ofrece la posibilidad de crear gráficas de pie, barras y [...]]]></description>
			<content:encoded><![CDATA[Buen plugin para jQuery que permite crear gráficas de datos accesibles mediante canvas. El script es bastante fácil de usar, se crea una tabla (sí, si, con <em>&lt;table&gt;</em>, que es para lo que se deben usar), y el script dibuja los datos en un canvas.
Ofrece la posibilidad de crear gráficas de pie, barras y líneas, para lo cual, en el class de la etiqueta canvas hay que especificar el origen y el tipo de gráfica (por ejemplo, fgCharting_src-dataTable_type-pie).
<a href="http://www.filamentgroup.com/lab/creating_accessible_charts_using_canvas_and_jquery/">Creating accessible charts using canvas and jQuery</a>
Vía / <a href="http://youare.com/couch/2009/03/25/638922">couch</a>
]]></content:encoded>
			<wfw:commentRss>http://sentidoweb.com/2009/03/26/crear-graficas-accesibles-con-jquery-y-canvas.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Detección de caras con Javascript y Canvas</title>
		<link>http://sentidoweb.com/2009/03/16/deteccion-de-caras-con-javascript-y-canvas.php</link>
		<comments>http://sentidoweb.com/2009/03/16/deteccion-de-caras-con-javascript-y-canvas.php#comments</comments>
		<pubDate>Mon, 16 Mar 2009 18:00:00 +0000</pubDate>
		<dc:creator>displaynone</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[deteccion caras]]></category>

		<guid isPermaLink="false">http://sentidoweb.com/2009/03/16/deteccion-de-caras-con-javascript-y-canvas.php</guid>
		<description><![CDATA[Interesante script que usa canvas para detectar rostros en las fotografías. Se basa en openCV y en el post de John Resig para evitar un captcha. Permite la opción de reconocer una cara o varias caras, este último lo he probado con una foto y no me ha funcionado, pero como bien dice el autor, [...]]]></description>
			<content:encoded><![CDATA[Interesante script que usa canvas para detectar rostros en las fotografías. Se basa en <a href="http://sourceforge.net/projects/opencvlibrary/">openCV</a> y en el post de <a href="http://ejohn.org/blog/ocr-and-neural-nets-in-javascript/">John Resig para evitar un captcha</a>.
Permite la opción de reconocer una cara o varias caras, este último lo he probado con una foto y no me ha funcionado, pero como bien dice el autor, aún tiene que mejorar más el script.
Interesante opción para servicios como Facebook o Flickr para sus opciones de asociar elementos (usuarios, comentarios, &#8230;) a las fotografías. También es útil para avisar de que no se ha subido una cara cuando alguien cambia de avatar.
<a href="http://blog.kpicturebooth.com/?p=8">Face detection in javascript + canvas</a>
Vía / <a href="http://youare.com/rafabayona/2009/03/15/430524">@rafabayona</a>
]]></content:encoded>
			<wfw:commentRss>http://sentidoweb.com/2009/03/16/deteccion-de-caras-con-javascript-y-canvas.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>typeface.js: hacer render de texto y fuentes con javascript</title>
		<link>http://sentidoweb.com/2009/03/12/typeface-js-hacer-render-de-texto-y-fuentes-con-javascript.php</link>
		<comments>http://sentidoweb.com/2009/03/12/typeface-js-hacer-render-de-texto-y-fuentes-con-javascript.php#comments</comments>
		<pubDate>Fri, 13 Mar 2009 02:30:00 +0000</pubDate>
		<dc:creator>displaynone</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[svg]]></category>
		<category><![CDATA[truetype]]></category>
		<category><![CDATA[vml]]></category>

		<guid isPermaLink="false">http://sentidoweb.com/2009/03/12/typeface-js-hacer-render-de-texto-y-fuentes-con-javascript.php</guid>
		<description><![CDATA[typeface.js es una librería que nos permite crear texto usando fuentes mediante javascript (canvas, SVG o VML para IE). El uso es muy sencillo: &#38;lt;div class=&#34;myclass typeface-js&#34; style=&#34;font-family: Helvetiker&#34;&#38;gt; Text here in Helvetiker font... &#38;lt;/div&#38;gt; Además ofrece una utlidad en Perl que permite convertir truetypes a trucefaces. typeface.js Vía / WebAppers]]></description>
			<content:encoded><![CDATA[<p>typeface.js es una librería que nos permite crear texto usando fuentes mediante javascript (canvas, SVG o VML para IE). El uso es muy sencillo:</p>
<pre><code><pre class="html"><span style="color: #ddbb00;">&amp;lt;</span>div class=&quot;myclass typeface-js&quot; style=&quot;font-family: Helvetiker&quot;<span style="color: #ddbb00;">&amp;gt;</span>
Text here in Helvetiker font...
<span style="color: #ddbb00;">&amp;lt;</span>/div<span style="color: #ddbb00;">&amp;gt;</span></pre></code></pre>
<p>Además ofrece una utlidad en Perl que permite convertir truetypes a trucefaces.</p>
<p><a href="http://typeface.neocracy.org">typeface.js</a></p>
<p>Vía / <a href="http://www.webappers.com/2009/03/10/rendering-text-with-javascript-canvas-and-vml/">WebAppers</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sentidoweb.com/2009/03/12/typeface-js-hacer-render-de-texto-y-fuentes-con-javascript.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

