<?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>IMGDigital</title>
	<atom:link href="http://www.imgdigital.com.ar/feed" rel="self" type="application/rss+xml" />
	<link>http://www.imgdigital.com.ar</link>
	<description>Hosting Solutions</description>
	<lastBuildDate>Sun, 22 Apr 2012 00:07:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Rediseño de Budget Bariloche</title>
		<link>http://www.imgdigital.com.ar/imgdigital/rediseno-de-budget-bariloche</link>
		<comments>http://www.imgdigital.com.ar/imgdigital/rediseno-de-budget-bariloche#comments</comments>
		<pubDate>Sat, 21 Apr 2012 23:58:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IMGDigital]]></category>
		<category><![CDATA[Trabajos Realizados]]></category>
		<category><![CDATA[alquiler]]></category>
		<category><![CDATA[rediseño]]></category>
		<category><![CDATA[rentacar]]></category>
		<category><![CDATA[trabajos]]></category>

		<guid isPermaLink="false">http://www.imgdigital.com.ar/?p=131</guid>
		<description><![CDATA[Lugo de mucho lidiar con el formato y tratando de hacer que el sitio sea más atractivo, terminamos el rediseño de budgetbariloche.com. Como todos saben, Budget es una marca reconocida mundialmente por el alquiler de autos sin chofer (Rent a &#8230; <a href="http://www.imgdigital.com.ar/imgdigital/rediseno-de-budget-bariloche">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Lugo de mucho lidiar con el formato y tratando de hacer que el sitio sea más atractivo, terminamos el rediseño de <a title="Budget Bariloche, Rent a Car" href="http://budgetbariloche.com">budgetbariloche.com</a>.</p>
<p>Como todos saben, Budget es una marca reconocida mundialmente por el alquiler de autos sin chofer (Rent a Car). El sitio toma en cuenta los colores en la marca de Budget  y está programado en HTML5. También utiliza <a title="Twitter Bootstrap" href="http://twitter.github.com/bootstrap">Twitter Bootstrap</a> un framework de CSS que nos permitió muy rápidamente armar el sitio para que responda a los diferentes dispositivos.</p>
<p>También usamos un par de técnicas para que el sitio sirva las imágenes al tamaño correcto dependiendo del dispositivo movil que lo llame.</p>
<p>Los invitamos a verlo y que nos dejen su opinión.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.imgdigital.com.ar/imgdigital/rediseno-de-budget-bariloche/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tratodirecto Rent a Car</title>
		<link>http://www.imgdigital.com.ar/imgdigital/tratodirecto-rent-a-car</link>
		<comments>http://www.imgdigital.com.ar/imgdigital/tratodirecto-rent-a-car#comments</comments>
		<pubDate>Tue, 12 Apr 2011 02:28:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IMGDigital]]></category>
		<category><![CDATA[Trabajos Realizados]]></category>
		<category><![CDATA[bariloche]]></category>
		<category><![CDATA[rentacar]]></category>
		<category><![CDATA[tratodirecto]]></category>

		<guid isPermaLink="false">http://www.imgdigital.com.ar/?p=116</guid>
		<description><![CDATA[Trato Directo Rent a Car es un sitio un poco viejito, al que le dimos una remosada, actualizandolo a HTML5 y boilerplate, con 960.gs grid system. También estamos haciendo un pequeño backend para el manejo de tarifas. Será un experimento &#8230; <a href="http://www.imgdigital.com.ar/imgdigital/tratodirecto-rent-a-car">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tratodirectorentacar.com" target="_blank">Trato Directo Rent a Car</a> es un sitio un poco viejito, al que le dimos una remosada, actualizandolo a HTML5 y boilerplate, con 960.gs grid system.</p>
<p>También estamos haciendo un pequeño backend para el manejo de tarifas. Será un experimento para usar <a href="http://kohanaframework.org" target="_blank">Kohana 3.1.1</a> espero traer novedades pronto.</p>
<p>Visiten el sitio alquilen autos y disfruten.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.imgdigital.com.ar/imgdigital/tratodirecto-rent-a-car/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Álamos de Meli-Tué</title>
		<link>http://www.imgdigital.com.ar/imgdigital/alamos-de-meli-tue</link>
		<comments>http://www.imgdigital.com.ar/imgdigital/alamos-de-meli-tue#comments</comments>
		<pubDate>Fri, 12 Nov 2010 21:22:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IMGDigital]]></category>
		<category><![CDATA[Trabajos Realizados]]></category>

		<guid isPermaLink="false">http://www.imgdigital.com.ar/?p=111</guid>
		<description><![CDATA[Otra vez en conjunto con Imagen Hotelera, desarrollamos un nuevo sitio para cabañas turísticas.Este es el caso de las Cabañas Álamos de Melitue, un complejo se compone de cuatro cabañas totalmente equipadas con capacidad para 3 a 8 personas, piscina climatizada, &#8230; <a href="http://www.imgdigital.com.ar/imgdigital/alamos-de-meli-tue">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Otra vez en conjunto con Imagen Hotelera, desarrollamos un nuevo sitio para cabañas turísticas.Este es el caso de las Cabañas Álamos de Melitue, un complejo se compone de cuatro cabañas totalmente equipadas con capacidad para 3 a 8 personas, piscina climatizada, quincho cerrado, gimnasio, sauna y spa.</p>
<p>Se hizo un rediseño integral y se transformó de un sitio estático a un wordpress.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.imgdigital.com.ar/imgdigital/alamos-de-meli-tue/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Patagonia 4 Handicap</title>
		<link>http://www.imgdigital.com.ar/imgdigital/patagonia-4-handicap</link>
		<comments>http://www.imgdigital.com.ar/imgdigital/patagonia-4-handicap#comments</comments>
		<pubDate>Tue, 08 Jun 2010 22:55:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IMGDigital]]></category>
		<category><![CDATA[Trabajos Realizados]]></category>
		<category><![CDATA[bariloche]]></category>
		<category><![CDATA[handicap]]></category>
		<category><![CDATA[patagonia]]></category>

		<guid isPermaLink="false">http://www.imgdigital.com.ar/?p=74</guid>
		<description><![CDATA[Patagonia 4 Handicap es un sitio orientado a las personas con capacidades disminuídas. La idea es mostrar un sitio con todas las actividades que se pueden realizar en Bariloche y zona de influencia. Usamos wordpress con varios plug-ins entre los &#8230; <a href="http://www.imgdigital.com.ar/imgdigital/patagonia-4-handicap">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://patagonia4handicap.com" target="_blank">Patagonia 4 Handicap</a> es un sitio orientado a las personas con capacidades disminuídas.</p>
<p>La idea es mostrar un sitio con todas las actividades que se pueden realizar en Bariloche y zona de influencia.</p>
<p>Usamos <a href="http://wordpress.com" target="_blank">wordpress</a> con varios plug-ins entre los cuales uno multiidioma. Los invitamos a visitarlo y que nos cuenten que les parece.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.imgdigital.com.ar/imgdigital/patagonia-4-handicap/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Preparate para el HTML 5</title>
		<link>http://www.imgdigital.com.ar/textos/preparate-para-el-html5</link>
		<comments>http://www.imgdigital.com.ar/textos/preparate-para-el-html5#comments</comments>
		<pubDate>Wed, 26 May 2010 03:10:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Textos]]></category>
		<category><![CDATA[a list apart]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[HTML 5]]></category>

		<guid isPermaLink="false">http://www.imgdigital.com.ar/?p=25</guid>
		<description><![CDATA[Con el soporte en Chrome, Firefox 3.5, Opera, y Safari, el HTML 5 está llegando a Uds como un tren desbocado. Aquí hay algunas sugerencias para ayudarlos a prepararse para subirse, antes que este deje la plataforma y los deje. <a href="http://www.imgdigital.com.ar/textos/preparate-para-el-html5">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p class="referencia">Este es un texto publicado en la edición <a href="http://www.alistapart.com/issues/291">291</a> del 1 de Septiembre de 2009 de <a href="http://www.alistapart.com">Alist apart </a>versión en inglés http://www.alistapart.com/articles/get-ready-for-html-5/<a href="http://alistapart.com/articles/dynatext/"> </a>por <a href="http://www.alistapart.com/authors/e/j.davideisenberg">J. David Eisenberg</a> para A list apart.<br />
Traducido al español por Federico Reinoso para IMGDigital</p>
<p>Con el soporte en Chrome, Firefox 3.5, Opera, y Safari, el HTML 5 está <a href="http://www.imdb.com/title/tt0082193/">llegando a Uds</a> como un <a href="http://www.imdb.com/title/tt0089941/">tren desbocado</a>. Aquí hay algunas sugerencias para ayudarlos a prepararse para subirse, antes que este deje la plataforma y los deje.</p>
<h2>Mirar lo que hicieron otros</h2>
<p>Lo primero que pueden hacer para prepararse para el HTML 5  es mirar como lo estan usando otras personas. Una visita a la <a href="http://html5gallery.com/">galería HTML 5</a> les mostrará como varios sitios ya están usando los nuevos elementos HTML 5. ¡Usa la fuente Luke!</p>
<h2>Ahora hacelo vos.</h2>
<p>Podés mirar los sitios, leer todos los artículos <a href="http://www.alistapart.com/articles/previewofhtml5/">aquí</a> y en <a href="http://html5doctor.com/">cualquier parte</a>, hasta podés <a href="http://www.whatwg.org/specs/web-apps/current-work/">leer las especificaciones</a> – pero nada de todo este te ayudará a entender HTML 5 como el hecho de <em>usar</em> los nuevos elementos.  Podés modificar parte de un sitio existente o experimentar creando nuevas páginas. Yo lo hice actualizando <a href="http://langintro.com/hamburg5/">el relato de un viaje que hice para mis amigos y familia</a>. (Nunca fue pensado para ser mostrado en público, pero ahí lo tienen)</p>
<p>Haciendo esto, te darás cuenta que funciona y que no. Por ejemplo, descubrí  esto mientras escribía que, Firefox 3.5 maneja los elementos como <code>article</code> y <code>section</code> como <code>display:inline</code>, y tuve que asignarles los a <code>display:block</code> para que funcionen como se esperaba.</p>
<h2>La X marca el lugar</h2>
<p>Si sos como la mayoría de los diseñadores, probablemente no escribas tu código a mano. Pero hasta que las herramientas habituales se actualicen a los nuevos elementos en (X)HTML 5, deberás hacer algo de la codificación a mano mientras aprendés. Hay algo de confusión (¡y controvercia!) acerca de la relación entre HTML 5, XHTML 1.0/1.1, and XHTML 5. Clarifiquemos esto ahora mismo.</p>
<p>HTML 4.0 (el código que todos conocemos y amamos) está basado en un &#8220;reglamento&#8221; llamado SGML. En el reglamento del SGML, los nombres de los elementos no tomaban en cuenta como se escribían (mayúsculas o minúsculas) podés tener elementos que opcionalmento deben ser cerrados (como &lt;p&gt;) y se puede poner valor a los atributos sin tener que &#8220;envolverlos&#8221; entre comillas. XHTML 1.0 y 1.1 están basados en XML. En XML, los nombres de los elementos y atributos son sensibles a la manera de escrinirlos (mayúsculas y minúsculas) y cada tag abierto, debe tener un cierre y los valores de los atributos deben estar entre comillas.</p>
<p>HTML 5 define una demarcación que no está basada en ninguna de las anteriores, pero puedes ser escrito en un &#8220;formato tipo HTML&#8221; (o serializarlo, como dicen las especificaciones ) o en un &#8220;formato XHTML&#8221; .</p>
<p>Cuando uno escribe código HTML, estás autorizado a dejar afuera algunas de las tags de cierre (¡y algunas de apertura!) no necesitas entrecomillar los valores de los atributos si estos no tienen espacios, y los elementos y los nombres de los atributos no diferencian mayúsculas y minúsculas. También obtenemos algo de la codificación XML; podemos poner una &#8220;barra&#8221; en elementos tales como <code>&lt;img /&gt;</code> or <code>&lt;hr /&gt;</code>.</p>
<p>Cuando usamos la serialización XHTML, debemos seguir las reglas del XML mencionadas anteriormente.</p>
<p>Te sugiero que escribas el código en XHTML 5, o, si usas HTML 5, escribas como si hicieras XHTML. Hay que quedarse lejos del standard XML que pide cerrar los tag de cada tag abierto en lugar de perder el tiempo optimizando el código cerrando tags que tienen cierres opcionales y/o aperturas. Igualmente, entrecomillá todos los valores de los atributos en lugar de ponerte a pensar cuales llevan y cuales no. Como agregado el evitar pensar en todas estas cosas no sólo hará que sufras menos dolores de cabeza, sino que además tu código será mas consistente.</p>
<p>Una vez que los programas se pongan al día con su generación de código, vas a preferir que generen XHTML5 en lugar de HTML 5. El uso del XML es mirar hacia el futuro; sus características te permiten a generar &#8220;documentos políglotas&#8221; que consisten en múltiples formatos más allá de RDFa, MathML, y SVG de HTML 5. También puedes usar herramientas como  <a href="http://www.w3.org/Style/XSL/">XPath, XSLT, y XQuery</a> en tu código basado en XML, usando cualquier procesador XML (aunque hay un <a href="http://about.validator.nu/htmlparser/">procesador en Java</a> que trabaja con HTML 5).</p>
<p>Por su puesto, no todo son buenas noticias. Si te abocas al HTML 5, acordate que tu servidor <em>debe</em> devolver los documentos en el formato MIME de <code>application/xhtml+xml</code> o <code>text/xml</code>. Esto puede que tengas que negociarlo con tu compañía de hosting. También, cuando recibas un archivo XML, cualquier error de sintáxis va a causar un mensaje de error.</p>
<div class="illustration full left">
<div id="attachment_64" class="wp-caption alignnone" style="width: 550px"><a href="http://www.imgdigital.com.ar/wp-content/uploads/2010/05/error_message.png"><img class="size-full wp-image-64" title="Fig. 1. Error de proceso XML por tags desparejas." src="http://www.imgdigital.com.ar/wp-content/uploads/2010/05/error_message.png" alt="" width="540" height="160" /></a><p class="wp-caption-text">Fig. 1. Error de proceso XML por tags desparejas.</p></div>
</div>
<p>Si estás escribiendo tu código a mano, tomá estos mensajes como una manera de mantenerte en orden. Si estás usando algún programa que crea XHTML, entonces no hay problema; estas herramientas siempre suelen producir XML bien nivelado.</p>
<h2>Expresiones Regulares</h2>
<p>El HTML 5 extiende el elemento <code>input</code> dándole nuevos atributos que te permiten especificar que datos vas a permitir como entrada. Estos atributor incluyen <code>min</code> y <code>max</code> (para dar un rango numérico), y HTML 5 también ofrece nuevos valores para el atributo <code>type</code>, como <code>url</code>, <code>email</code>, <code>date</code> (fecha), y <code>time</code> (hora)</p>
<p>Si ninguno de estos nuevas clases se adapta a tus necesidades, HTML 5 provee del atributo <code>pattern</code> para los elementos <code>input</code> con el <code>type="text"</code>. El valor para el atributo  <code>pattern</code> es una expresión regular, como las definidas en <a href="http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf">ECMAScript</a> y usadas en JavaScript. Las Expresiones Regulares son una manera consistente y quizás algo crípticas de hacer un pattern de caractéres. Por ejemplo si necesitás hacer coincidir un grupo de cinco dígitos o nueve dígitos del código postal de USA o el de seis caracteres de Canadá, puedo usar el siguiente pattern:</p>
<pre>([0-9]{5}(-[0-9]{4})?)|([A-Z][0-9][A-Z]\s+[0-9][A-Z][0-9])</pre>
<p>Las nuevas capacidades de los formularios web han sido parcialmente implementadas en Safari y Chrome y por completi en Opera (mirar <a href="http://a.deveria.com/caniuse/#agents=All&amp;eras=All&amp;cats=HTML5&amp;statuses=rec,cr,wd,ietf">este sitio</a> para ver las posibildades de cada navegador). No te preocupes si u navegador no soporta las extensiones a HTML 5 al <code>form</code>; podés descargar el <a href="http://code.google.com/p/webforms2/">Google’s Web Forms 2</a> y estás listo para hacerlo andar!</p>
<p>Aca hay un ejemplo de un formulario que valida la fecha y el código postal:</p>
<div class="working-sample">
<form id="validateForm" action="javascript:show_ok()">Ingrese la fecha:</p>
<input title="Use format yyyy-mm-dd" name="day" type="date" />Ingrese un código postal USA o Canadiense:</p>
<input title="US: 99999-1234; Canadian: A1B 2C3" name="postCode" type="text" />
<input type="submit" value="Verifique la Data" /> <span id="ok" class="ok" style="display: none;"> Datos válidos! </span></p>
</form>
</div>
<p>Y aquí el código correspondiente:</p>
<pre>&lt;p&gt;
Enter a date: &lt;input type="date" name="day"
required="required"
title="Use format yyyy-mm-dd" /&gt;
&lt;/p&gt;

&lt;p&gt;
Enter a US or Canadian Postal Code:
&lt;input type="text" name="postCode"
required="required"
pattern="([0-9]{5}(-[0-9]{4})?)|([0-9][A-Z][0-9]\s+[A-Z][0-9][A-Z])"
title="US: 99999-1234; Canadian: 0A1&amp;#160;B2C" /&gt;
&lt;/p&gt;</pre>
<p>Aprender Expresiones regulares es algo que bien vale la pena tomarse el tiempo de aprender. Muchos editores de texto ofrecen expresiones regulares integradas en su sistema de búsqueda y reemplazo, y cuando empezás a usarlas, te vasa preguntar como fuiste capaz de vivir sin ellas.</p>
<h2>Arte estático con SVG</h2>
<div class="illustration right">
<div id="attachment_65" class="wp-caption alignright" style="width: 169px"><a href="http://www.imgdigital.com.ar/wp-content/uploads/2010/05/svg_screenshot.png"><img class="size-full wp-image-65" title="Fig. 2. Imagen de SVG mostrando formas coloreadas." src="http://www.imgdigital.com.ar/wp-content/uploads/2010/05/svg_screenshot.png" alt="circulo rojo y octágono azul superpuestos por un cuadrado verde transparente" width="159" height="74" /></a><p class="wp-caption-text">Fig. 2. Imagen de SVG mostrando formas coloreadas.</p></div>
<p>Si lo que buscas es dibujos vectoriales de bordes definidos, HTML 5 les permite poner  <a href="http://www.w3.org/Graphics/SVG/">SVG (Scalable Vector Graphics)</a> en sus documentos. Colocar SVG embebido está parcialmente implementado en Firefox, Safari, y Opera, de acuerdo con <a href="http://wiki.whatwg.org/wiki/Implementations_in_Web_browsers">este sitio</a>.</p>
</div>
<p>Podés <a href="/d/get-ready-for-html-5/gatto02.svg">linkear a un archivo SVG</a> en Firefox 3.5. Ese gráfico es un poquito complejo —<a href="/d/get-ready-for-html-5/simple.svg">acá hay uno mucho más simple</a> (vea Fig. 2) mostrando algunas formas coloreadas.</p>
<p>Y aquí está el SVG que genera:</p>
<pre>&lt;svg xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 200 100"
width="200px" height="100px"&gt;

&lt;circle cx="50" cy="50" r="30"
    style="stroke:none; fill:#ff0000;"/&gt;

&lt;g transform="translate(100, 20) scale(1.65)"&gt;
    &lt;polygon points="36 25, 25 36, 11 36, 0 25,
        0 11, 11 0, 25 0, 36 11"
        style="stroke:none; fill:#0000ff;" /&gt;
&lt;/g&gt;

&lt;rect x="60" y="20" height="60" width="60"
    style="stroke:none; fill:#00ff00;
    fill-opacity: 0.5;" /&gt;
&lt;/svg&gt;</pre>
<p>Aunque es posible usar JavaScript para dinámicamente modificar un gráfico SVG, HTML 5 provee una solución mejor:</p>
<h2>El <code>canvas</code> (lienzo) en blanco</h2>
<p>El elemento  <code>canvas</code> es uno de las mas exitantes  caracaterísticas del HTML 5, y es soportado por Firefox, Safari, Opera, y Chrome—pero no por Internet Explorer. (que raro&#8230;) El elemento <code>canvas</code> es verdaderamente una característica avanzada. Puedes usar Javascript para dibujar lo que quieras (literalmente) en este lienzo en blanco.</p>
<p>Aquí va el gráfico SVG del ejemplo, usando sólo canvas:</p>
<div class="working-sample">
<p>Perdón, pero tu navegador no soporta<br />
<code>&lt;canvas&gt;</code> <img src='http://www.imgdigital.com.ar/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
</div>
<p>Y aquí está el JavaScript que lo fabrica (con multiples estadíos por línea para ahorrar espacio):</p>
<pre>function drawSimpleCanvas() {
  var canvas =
    document.getElementById("simpleCanvas");
  if (canvas.getContext) {
    var ctx = canvas.getContext("2d");

    ctx.beginPath(); // the circle
    ctx.fillStyle = "#ff0000";
    ctx.arc(50, 50, 30, 0, 2*Math.PI, true);
    ctx.closePath();
    ctx.fill();
    ctx.save();

    // move and resize the octagon
    ctx.translate(100, 20);
    ctx.scale(1.65, 1.65);
    ctx.fillStyle = "#0000ff";
    ctx.beginPath();
    ctx.moveTo(36, 25); ctx.lineTo(25, 36);
    ctx.lineTo(11, 36); ctx.lineTo(0, 25);
    ctx.lineTo(0, 11); ctx.lineTo(11, 0);
    ctx.lineTo(25, 0); ctx.lineTo(36, 11);
    ctx.closePath();
    ctx.fill();

    // restore graphics as they
    // were before move and resize
    ctx.restore();
    ctx.fillStyle = "#00ff00";
    ctx.globalAlpha = 0.5;
    ctx.beginPath();
    ctx.rect(60, 20, 60, 60);
    ctx.closePath();
    ctx.fill();
  }
}</pre>
<p>Acá hay un <code>&lt;canvas&gt;</code> que demuestra el uso de una simple interacción del usuario:</p>
<div class="working-sample">
<p>Sorry, but your browser does not support<br />
<code>&lt;canvas&gt;</code> <img src='http://www.imgdigital.com.ar/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<form id="drawingForm" action="javascript:drawShape();">Draw:</p>
<select id="shapeType" name="shapeType">
<option value="0">Circle with radius</option>
<option value="1">Square with side</option>
<option value="2">Diamond with side</option>
</select>
<input id="shapeSize" name="shapeSize" size="3" type="number" /> pixels,<br />
color #</p>
<input id="shapeColor" title="3 or 6 hex digits" name="shapeColor" size="8" type="text" />
<input type="submit" value="Draw" /> </form>
</div>
<p>Normalmente, vas a usar un canvas para mostrar gráficos que acompañen tu contenido.  Por ejemplo, decir &#8220;el propos&#8221; For example, saying “la media de un grupo de números es el &#8216;centro de gravedad&#8217; de este grupo&#8221; está bien, pero usar un elemento  <code>canvas</code> con un JavaScript que le permite al lector ingresar un grupo de números y mostrarle que significa el &#8220;punto de inflección&#8221; es mucho más efectivo.</p>
<div class="working-sample">Sorry, but your browser does not support<br />
<code>&lt;canvas&gt;</code> <img src='http://www.imgdigital.com.ar/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<form id="itemForm" action="javascript:void(0)">Igrese números, separados por comas o espacios:</p>
<input id="itemData" type="text" value="3,5,5,7,9,10" />
<input onclick="showData(); return false;" type="button" value="Display Data" /> </form>
</div>
<p>Estos ejemplos ni siquiera empiezan a mostrar la finalidad  y capacidad del elemento <code>canvas</code>. Vea el  <a href="https://developer.mozilla.org/en/Canvas_tutorial">Tutorial de Canvas</a> en el sitio de Mozilla para una introducción mas profunda como asi también links de ejemplos.</p>
<h2>¿Qué estás esperando?</h2>
<p>Así como algunos desarrolladores tienen sus <a href="http://blog.halindrome.com/2009/07/w3c-you-ignorant-slut.html">reservas</a> acerca de la dirección en la que el HTML 5 está tomando en la web (y aunque comparto estas reservas), HTML 5 tiene suficientes razones para que valga la pena esplorarlo. Entonces, empezá a mirar lo que otras personas han hecho, experimentá vos mismo, y volvete un poco loco con las nuevas medidas de validación de formularios y las ventajas del canvas.</p>
<hr /><strong>Aprenda más</strong></p>
<div id="learnmore">
<p>Temas relacionados: <a title="HTML and XHTML" href="http://www.alistapart.com/topics/topic/htmlxhtml/" target="_blank">HTML and XHTML</a></p>
</div>
<div class="discuss">
<h2>Discuta esto</h2>
<p>Esto es interesante para vos?  <a href="http://www.alistapart.com/comments/get-ready-for-html-5/" target="_blank">Unite a la discución »</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.imgdigital.com.ar/textos/preparate-para-el-html5/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Emilio Lacroze Styling</title>
		<link>http://www.imgdigital.com.ar/imgdigital/emilio-lacroze-styling</link>
		<comments>http://www.imgdigital.com.ar/imgdigital/emilio-lacroze-styling#comments</comments>
		<pubDate>Wed, 26 May 2010 01:51:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IMGDigital]]></category>
		<category><![CDATA[Trabajos Realizados]]></category>
		<category><![CDATA[emilo lacroze]]></category>
		<category><![CDATA[styling]]></category>

		<guid isPermaLink="false">http://www.imgdigital.com.ar/?p=96</guid>
		<description><![CDATA[Este es el sitio de Emilio Lacroze, estilista de producciones de moda para las mejores revistas de moda de la Argentina. Hace ya un par de años que hicimos este sitio y estamos proyectando un nuevo diseño. Por ahora vean &#8230; <a href="http://www.imgdigital.com.ar/imgdigital/emilio-lacroze-styling">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Este es el sitio de <a href="http://www.emiliolacroze.com" target="_blank">Emilio Lacroze</a>, estilista de producciones de moda para las mejores revistas de moda de la Argentina.</p>
<p>Hace ya un par de años que hicimos este sitio y estamos proyectando un nuevo diseño.</p>
<p>Por ahora vean los trabajos de Emilio.<span id="more-96"></span>El sitio usa <a href="http://960.gs" target="_blank">960 grid</a>, <a href="http://jquery.com" target="_blank">jquery</a>, y<a href="http://sgal.org" target="_blank"> singapore gallery</a> con un template personalizado al máximo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.imgdigital.com.ar/imgdigital/emilio-lacroze-styling/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Felices 200 años Argentina</title>
		<link>http://www.imgdigital.com.ar/imgdigital/felices-200-anos-argentina</link>
		<comments>http://www.imgdigital.com.ar/imgdigital/felices-200-anos-argentina#comments</comments>
		<pubDate>Tue, 25 May 2010 16:39:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IMGDigital]]></category>

		<guid isPermaLink="false">http://www.imgdigital.com.ar/?p=93</guid>
		<description><![CDATA[Si bien este es un blog sobre sitios web, no queremos estar ausentes en los festejos del Bicentenario. Esperemos que estos 200 años nos sirvan de ejemplo para las cosas buenas y evitar las malas. Por todo esto. ¡Feliz Bicentenario &#8230; <a href="http://www.imgdigital.com.ar/imgdigital/felices-200-anos-argentina">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Si bien este es un blog sobre sitios web, no queremos estar ausentes en los festejos del Bicentenario.</p>
<p>Esperemos que estos 200 años nos sirvan de ejemplo para las cosas buenas y evitar las malas.</p>
<p>Por todo esto.</p>
<h3><strong>¡Feliz Bicentenario Argentina!</strong></h3>
]]></content:encoded>
			<wfw:commentRss>http://www.imgdigital.com.ar/imgdigital/felices-200-anos-argentina/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hosteria Quime Quipan</title>
		<link>http://www.imgdigital.com.ar/imgdigital/hosteria-quime-quipan</link>
		<comments>http://www.imgdigital.com.ar/imgdigital/hosteria-quime-quipan#comments</comments>
		<pubDate>Tue, 11 May 2010 23:15:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IMGDigital]]></category>
		<category><![CDATA[Trabajos Realizados]]></category>
		<category><![CDATA[bariloche]]></category>
		<category><![CDATA[diseño web]]></category>
		<category><![CDATA[hostería]]></category>

		<guid isPermaLink="false">http://www.imgdigital.com.ar/?p=68</guid>
		<description><![CDATA[En conjunto con Imagen hotelera, hemos realizado una renovación completa para el sitio de la Hostería Quime Quipan. Esta pequeña hostería que se ubica en las afueras de san carlos de bariloche necesitaba un rediseño asi que en junto con &#8230; <a href="http://www.imgdigital.com.ar/imgdigital/hosteria-quime-quipan">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>En conjunto con <a href="http://imagenhotelera.com" target="_blank">Imagen hotelera</a>, hemos realizado una renovación completa para el sitio de la <a title="Hostería Quime Quipan Bariloche" href="http://www.hosteríaquimequipan.com.ar" target="_blank">Hostería Quime Quipan.</a></p>
<p>Esta pequeña hostería que se ubica en las afueras de san carlos de bariloche necesitaba un rediseño asi que en junto con la fotografía de <a href="http://imagenhotelera.com" target="_blank">Palmiro Bedeschi</a>, armamos la nueva imagen del sitio.<span id="more-68"></span>Para el armado del sitio tuvimos en cuenta las nuevas tendencias en el diseño web junto con la imagen clásica que los dueños de la hostería quieren brindar.</p>
<p>El sitio cuenta con un área autoadministrable para la parte de tarifas y promociones; y una galería de fotos que funciona sobre el excelente script de <a href="http://sgal.org" target="_blank">Singapore Gallery</a>. Además  se utilizó <a href="http://jquery.com" target="_blank">jquery</a>, aquí y allá para darle ese toque 2.0 que tanto se usa estos días.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.imgdigital.com.ar/imgdigital/hosteria-quime-quipan/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recetasdemaru.com.ar</title>
		<link>http://www.imgdigital.com.ar/imgdigital/trabajos/recetas-de-maru</link>
		<comments>http://www.imgdigital.com.ar/imgdigital/trabajos/recetas-de-maru#comments</comments>
		<pubDate>Mon, 19 Apr 2010 23:52:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Trabajos Realizados]]></category>
		<category><![CDATA[maru botana]]></category>
		<category><![CDATA[sabor a mi]]></category>
		<category><![CDATA[telefe]]></category>

		<guid isPermaLink="false">http://www.imgdigital.com.ar/?p=51</guid>
		<description><![CDATA[Estamos dándoles los últimos toques a un nuevo sitio creado por nosotros RecetasdeMaru.com.ar. La idea es generar una comunidad en donde se compartan las recetas del programa Sabor a Mi que conduce la conocida conductora Maru Botana por TELEFE. Los &#8230; <a href="http://www.imgdigital.com.ar/imgdigital/trabajos/recetas-de-maru">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.imgdigital.com.ar/wp-content/uploads/2010/04/Screen-shot-2010-04-19-at-10.30.31-PM-e1271728249633.png"></a>Estamos dándoles los últimos toques a un nuevo sitio creado por nosotros <a href="http://recetasdemaru.com.ar" target="_blank">RecetasdeMaru.com.ar</a>.<br />
La idea es generar una comunidad en donde se compartan las recetas del programa <strong>Sabor a Mi </strong>que conduce la conocida conductora Maru Botana por TELEFE.</p>
<p>Los esperamos pronto.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.imgdigital.com.ar/imgdigital/trabajos/recetas-de-maru/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reemplazo dinámico de texto con Imágenes</title>
		<link>http://www.imgdigital.com.ar/textos/reemplazo-dinamico-con-imagenes</link>
		<comments>http://www.imgdigital.com.ar/textos/reemplazo-dinamico-con-imagenes#comments</comments>
		<pubDate>Sat, 06 Feb 2010 02:25:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Textos]]></category>
		<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Graphic Design]]></category>
		<category><![CDATA[HTML and XHTML]]></category>
		<category><![CDATA[imagenes]]></category>
		<category><![CDATA[Layout]]></category>
		<category><![CDATA[remplazo]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Server Side]]></category>
		<category><![CDATA[texto]]></category>
		<category><![CDATA[Typography]]></category>

		<guid isPermaLink="false">http://www.imgdigital.com.ar/?p=10</guid>
		<description><![CDATA[Usando JavaScript y PHP, podemos generar imágenes de titulares usando cualquier fuente que queramos. Y no debemos cambiar la estructura de nuestro HTML o CSS. Vea la demostración para ver el Reemplazo de Texto Dinámico en acción. Luego lea lo que sigue para averiguar como ud. puede agregar esta funcionalidad a su sitio <a href="http://www.imgdigital.com.ar/textos/reemplazo-dinamico-con-imagenes">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p class="referencia">Este es un texto publicado en la edición <a title="Permanent location for this issue." href="http://alistapart.com/issues/183/">183</a> del 15 de junio del 2004 de <a href="http://www.alistapart.com">Alist apart </a>versión en inglés <a href="http://alistapart.com/articles/dynatext/">http://alistapart.com/articles/dynatext/ </a>por <a title="View all articles by this author." href="http://alistapart.com/authors/stewartrosenberger/">Stewart Rosenberger</a> para A list apart.<br />
Traducido al español por Federico Reinoso para IMGDigital</p>
<p>El manejo del texto es un verdadero dolor de cabeza en el diseño web. Hay sólo un puñado de fuentes (fonts) que están universalmente disponibles, y los efectos sofisticados  son casi imposibles de lograr usando sólo standards como CSS y HTML. Mantenerse con las tradicionales cuerpos tipográficos está bien para el texto en general, pero cuando nos referimos a los titulares — pequeños bloques de texto captadores de atención — sería bueno tener algunas opciones. Nos hemos acostumbrados a este problema y aprendimos a convivir con esto haciendo lo mejor que podemos con las pocas fuentes que tenemos, o reemplazando enteramente los titulares de texto con imágenes.</p>
<p>La mayoría de los sitios reemplaza el texto con imágenes haciéndolo a mano, lo cual no es tan terrible cuando hay un número determinado de titulares, pero rápidamente se pone inmanejable en un sitio que es actualizado varias veces por día. De esta manera los reemplazos se efectúan, cada imagen necesita conectarse con el texto que reemplaza. Esa conexión generalmente puesta en el tag <code>&lt;img&gt;</code>, en un estilo en cascada embebido o un atributo de un id. Y a través del tiempo, los cambios de diseño y rediseño, esas conexiones deben ser manejadas por alguien</p>
<p>Podemos olvidarnos de toda esa tontería. No más tags <code>&lt;img&gt;</code> o <code>&lt;span&gt;</code>, no más atributos a los id o pérdidas de tiempo en el Photoshop, y no más complejos trucos con CSS.</p>
<p>Usando JavaScript y PHP, podemos generar imágenes de titulares  usando cualquier fuente que queramos. Y no debemos cambiar la estructura de nuestro HTML o CSS.  <a title="Demostración de Reemplazo dinámico de texto" href="http://www.stewartspeak.com/dtr/demo/">Vea la demostración</a> para ver el Reemplazo de Texto Dinámico en acción. Luego lea lo que sigue para averiguar como ud. puede agregar esta funcionalidad a su sitio</p>
<h2>PHP</h2>
<p>Este pequeño script PHP (<a href="http://www.imgdigital.com.ar/downloads/heading.txt">disponible aquí</a>) entrega un imagen PNG dinámica a nuestro navegador cada vez que es pedida. Antes de ponerlo a trabajar, es necesario modificar algunos parámetros. Las primeras siete líneas de código en el script sirven para este propósito:</p>
<pre>  $font_file = 'font.ttf' ;
  $font_size = 56 ;
  $text_color = '#ffffff' ;
  $background_color = '#000000' ;
  $transparent = true ;
  $cache_images = true ;
  $cache_folder = 'cache' ;</pre>
<ul>
<li>La variable <code>$font_file</code> debe ser dirigida en un camino local (no una URL) de una fuente True Type (TTF) o Open Type (OTF) en su servidor web. Esta es la fuente con las que se crearán sus imágenes; Ud. necesita subir este archivo al servidor web desde su computadora.</li>
<li><code>$font_size</code>, como es obvio, se refiere al tamaño de la fuente en puntos.</li>
<li><code>$text_color</code> y <code>$background_color</code> son códigos de color en formato hexadecimal que indican el color del texto y el del fondo (background) respectivamente.</li>
<li>Cuando la variable <code>$transparent</code> es puesta en <code>true</code>, los bordes del texto de la imagen  serán fundidos con el color de fondo ( <code>$background_color</code> ) y de esta manera prevenir el borde dentado y una vez esto el color de fondo será completamente invisible.</li>
<li>Colocando <code>$cache_images</code> en <code>true</code>, y que la variable de <code>$cache_folder</code> apuntada a un directorio local de su servidor web con permisos de escritura, el script guarda cada imagen que cree, guardándolas para usarlas para su uso posterior. Esto acelerará significativamente el envío de imágenes a sus visitantes, y es particularmente importante en los servidores compartidos y de mucho tráfico.</li>
</ul>
<p>Para instalar este script, súbalo a sus servidor web que tenga una configuración PHP. Específicamente ud. necesita PHP versión 4.3 o superior, compilado con las bibliotecas GD versión 1.6 o superior. Si nada de esto significa algo para ud, mande un email con estos requerimientos a su proveedor de alojamiento y ellos le dirán si es compatible.</p>
<p>Si bien usamos PHP para construir las imágenes en esta implementación, su sitio web no necesariamente debe ser un sitio hecho en PHP para poder usar esta técnica. Sin importar como ud. genera sus páginas HTML, hechas a mano o a través de un CMS, ud. puede usar esta técnica siempre que pueda insertar un tag <code>&lt;script&gt;</code> dentro del tag <code>&lt;head&gt;</code> de sus documenteos. Le explicaremos esto en detalle luego.  Por favor tome nota que si bien esto puede ser hecho con PHP también puede realizarse con otras herrmientas. Perl, ASP, Java servlets y cualquier otro lenguaje que se ejecute en el servidor puede ser un buen candidato para generar imagenes automatizadas. PHP es una plataforma excelente por su gran aceptación, independencia de plataforma y fácil aprendizaje. Considere las alternativas si ud. necesita algo que PHP no pueda hacer o si ud elige hacer de cero su propio generador de imágenes. Pero es más simple, adaptar el código PHP presentado aquí.  Una cosa que la modificación del script no incluye es el texto que debe ser generado en nuestras imágenes. Esto es porque el texto que usaremos para producir estas imágenes será pasado por el script via la URL. Por ejemplo, llamando a la URL  <code>heading.php?text=URLs%20Son%20Divertidas</code> producirá un gráfico que diga &#8220;URLs Son Divertidas&#8221; Y eso es todo. Pero no deberemos escribirlo nosotros mismos porque JavaScript lo hará por nosotros.</p>
<h2>JavaScript</h2>
<p>Baje el <a title="código JavaScript" href="http://alistapart.com/d/dynatext/replacement.js">código JavaScript aquí</a> Esta técnica tomada principalmente del código de Peter-Paul Koch <a title="Reemplazo de imágenes con JavaScript (JIR en inglés)" href="http://www.quirksmode.org/dom/fir.html">Reemplazo de imágenes con JavaScript (JIR en inglés)</a> . La premisa del JIR es muy simple: Muchos codificadores de CSS explotan los bugs del navegador para ocultar los estilos CSS para esos navegadores. Estas técnicas son preparadas para el uso limitado y condicional en el código, transformando el CSS en sólo crudo del lenguaje de programación. En lugar de usar este &#8220;lenguaje de errores&#8221; para compensar las diferencias de los navegadores, Koch y otros pusieron su esfuerzo en que JavaScript — un lenguaje real — al ser más inteligente y accesible, haga lo mismo. Esto es maravilloso para nuestros propósitos porque JavaScript también nos dá una mayor flexibilidad. Específicamente, vamos a usarlo para reemplazar el texto con imágenes que ni siquiera existen aún.</p>
<p>Cuando la página empieza a cargar, el script trata de cargar una pequeña imagen de testeo (1&#215;1 pixel). Si el test es exitoso, podemos concluir que el navegador del visitante a nuestro sitio soporta el muestreo de imágenes, sino no vale la pena el gasto de ancho de banda cargándolas. Esta es la piedra fundamental del JIR: Testeando si se pueden ver las imágenes, podemos determinar cuando nuestros visitantes pueden o no ver las imágenes estilizadas. Si no pueden mostralas, el script se detiene ahí mismo.  Asumamos que el navegador del visitante puede mostrar las imágenes, el script espera hasta que la página se cargue completamente, porque no se puede reemplazar el texto que no ha sido cargado aún.</p>
<p>Cuando el HTML termina de cargar, nuestro srcipt busca por elementos específicos (<code>&lt;h2&gt;</code>, <code>&lt;span&gt;</code>, etc.)  y lo reemplaza el texto dentro de ellos con un tag <code>&lt;img&gt;</code>. El tag <code>&lt;img&gt;</code> creado dinámicamente tiene su atributo <code>alt</code> seteado al texto original, y el atributo <code>src</code> seteado a la URL del script PHP que hemos instalado. El script PHP luego envía devuelta una imagen PNG modificada y voilá: titulares a pedido.  Pesando unos saludables ocho kilobytes, ocuren muchas cosas en este rincón del ring, pero son sólo dos líneas que necesitan ser modificadas antes de que el script funcione.</p>
<pre><em>  replaceSelector("h2","heading.php",true);
  var testURL = "test.png";
</em></pre>
<p>La función <code>replaceSelector</code> acepta tres parámetros: El primero es el estilo CSS que indica que elementos deben ser reemplazados. Este selector puede ser casi cualquier selector CSS, incluyendo id, class, elementos y selectores de atributos.  El segundo parámetro es la URL de nuestro script PHP  El tercer parámetro es de verdadero y falso (true/false) que indica si el texto debe fluir o no con el ancho de la columna. Cuando está activado (true) los titulares se parten en múltiples imágenes, una por cada palabra. Cuando es desactivado (false) sólo una imagen es generads por cada titular.  <code>replaceSelector</code> debe ser llamado una vez por cada grupo de elementos que querrasmos reemplazar.</p>
<p>Las URL en estas lineas pueden tener rutas absolutas (<code>http://…</code>) o relativas a nuestro archivo HTML (<code>path/filename</code>).  La variable <code>testURL</code> necesita ser dirigida a la dirección de la pequeña imagende testeo (1&#215;1 pixel).  Una vez que esta líneas fueron seteadas correctamente, ud. puede subir el archivo JavaScript a su servidor web, y usarla en sus páginas agregando lo siguiente al tag <code>&lt;head&gt;</code></p>
<pre>  &lt;script
    type="text/JavaScript"
    src="replacement.js"&gt;
  &lt;/script&gt;</pre>
<p>Asegurese que el atributo <code>src</code> en esa línea apunte a la ubicación del JavaScript que subió antes.  Eso es todo lo que necesita para hacer un reemplazo dinámico de texto; podemos detenernos aquí si quiere. Pero hay un par de mejoras opcionales que podríamos querer antes de terminar.</p>
<h2>Versiones de Impresión</h2>
<p>Como previamente vimos (en <a title="Imprima a su manera" href="http://alistapart.com/articles/printyourway/">alistapart</a>, proximamente aquí), muchos sitios están empleando estilos especiales para el momento de imprimir, para darle a sus visitantes una mejor copia de sus contenidos. En muchos casos esto implica volver hacia atrás el proceso del reemplazo de imágenes, asi la copia de de impresión usa las fuentes en lugar de las imágenes, que pueden ap;arecer en baja resolución en impresoras de alta definición. Desafortunadamente, JavaScript se queda un poco corto para resolver este problema.</p>
<p>Una vez reemplazado nuestro texto con una imagen, es imposible revertir el proceso específicamente para la impresión, entonces debemos encontrar otra solución.  En lugar de tratar de revertir nuestro proceso de reemplazo, podemos tomar algunos recaudos. Junto a la inserción del tag <code>&lt;img&gt;</code> en los titulares, podemos insertar un tag<code> &lt;span&gt;</code> que contenga el texto original. Y podemos setear las propiedades del span a ninguna (none), entonces no será mostrado en la pantalla. Ahora tenemos dos copias de nuestro texto original: Una en la imagen visible, y otra en un invisible span. Dándole a cada uno de estos elementos un atributo de <code>class</code> (&#8220;reemplazo&#8221; e &#8220;impresion&#8221;, respectivamente), y agregandolos en el estilo de impresión , podemos cambiar lo que se muestra al momento de imprimirlo.  El siguiente estilo (<a title="Ejemplo de CSS" href="http://alistapart.com/d/dynatext/replacement-print.css">baje el ejemplo de CSS aquí</a>) puede ser usado para generar la versión apropiada para la impresión:</p>
<pre>  span.print-text {
    display: inline !important;
  }
  img.replacement {
    display: none;
  }</pre>
<p>Una vez que hayamos subido su página a su servidor web, sólo necesitamos cambiar dos líneas en nuestro JavaScript para que funcione:</p>
<pre>  var doNotPrintImages = false;
  var printerCSS = "replacement-print.css";</pre>
<p>Al setear <code>doNotPrintImages</code> a <code>true</code>, y <code>printerCSS</code> a la URL del estilo de impresión que hemos creado, el script automáticamente inserta el CSS <code>&lt;link&gt;</code> apropiado en el tag <code>&lt;head&gt;</code></p>
<h3>Libre de parpadeo</h3>
<p>Porque nuestro script no puede empezar a reemplazar elementos hasta que el documento se haya cargado, se verá un pequeño parpadeo del texto sin el gráfico, hasta que el navegador espera hasta que el proceso del reemplazo comience. Esto es menos que un pequeño problema, más cercano a una molestia, pero como es evitable podemos solucionarlo.</p>
<p>Con la ayuda de otro pequeño estilo, podemos hacerlo.  Antes que el cuerpo del documento comience a ser cargado, podemos insertar dinámicamente un estilo que esconda estos elementos por completo. Ya que el estilo linkeado se aplica a medida que el documento es mostrado, nada será visible en ese período. Una vez que nuestra técnica de reemplazo termine de ser ejecutada, podemos desactivar este estilo y los titulares serán visibles otra vez.  Por ejemplo, si nuestra página fuie seteada para reemplzar los tags <code>&lt;h2&gt;</code>, el siguiente estilo (disponible aquí) los escondería haste que la técnica de reemplazo haya terminado:</p>
<pre>  h2 {visibility: hidden;}</pre>
<p>Hay un pequeño problema en este aspecto. Toda nuestra técnica depende que se cargue el archivo de testeo, para indicar que el navegador puede manejar imágenes. Si esta imagen nunca carga, la técnica de reemplazo nunca se activará. Y si nuestra técnica no se activa, el estilo que mantiene ocultos nuestros titulares nunca se desactivará.</p>
<p>Por esto, nuestros visitantes, que han desactivado la muestra de imágenes en sus navegadores, pero que aún pueden ver CSS y JavaScript, verán sólo un espacio vacío donde deberían estar nuestros titulares.  Haremos lo mejor de nuestra parte para mejorar esta pequeña dificultad, agregando un pequeño valor  de timeout al script. Si la imagen de testeo no fue exitosamente cargada luego de uno o dos segundo (o el tiempo que crean conveniente), el script automáticamente desactivará la hoja de estilos, y los titulares reaparecerán. Esos uno o dos segundo son un mínimo inconveniente para esta excepcionalmente rara persona, pero resuleve el problema del parpadeo para el otro 99,99% de nuestros visitantes. Lo más importante aquí es que mantenemos la accesibilidad para todos.  Para activar esta opción, y remover el pequeño parpadeo del contenido sin estilo, ud. debe editar tres líneas en el código JavaScript:</p>
<pre>  var hideFlicker = false;
  var hideFlickerCSS = "replacement-screen.css";
  var hideFlickerTimeout = 1000;</pre>
<p>Coloque <code>hideFlicker = true</code>, y <code>hideFlickerCSS</code> apuntando a la URL del estilo CSS que haya creado para ocultar sus titulares.  <code>hideFlickerTimeout</code> debe ser seteado en el máximo número en milisegundos (ej: 1/1000 segundos) que debe esperar el script antes de desactivar ese estilo.</p>
<h3>Notas y Sugerencias</h3>
<p>Versiones viejas de Mozilla, incluyendo Netscape 6.2, tienen un bug donde el navegador bajará ls imágenes aún si el usuario ha pedido que no lo haga. Esto, no tiene mucho sentido, y ha sido solucionado desde la versión 1.4. Sin embargo esta técnica funcionaría sin problemas en estos navegadores, incorrectamente pensará que debe mostrar las imágenes y fallará cuando los visitantes usando estos navegadores tengan las imágenes desactivadas. No vamos a tomar en cuenta esta extremadamente rara situación como un impedimento grave, pero no hay que pecar de incompletos. No hay actualmente una solución a este problema.  Si usa esta técnica con traductores automáticos, como Google o Babelfish de Altavista. Mientras su fuente soporte los caracteres extranjeros, las imágenes serán traducidas también.  El texto que quiera reemplazar, no debe necesariamente estar dentro de los tags principales (<code>&lt;h1&gt;</code>, <code>&lt;h2&gt;</code>, etc.); puede ser cualquier elemento de la página. Con algunos simples ajustes, y un poco de manipulación de los valores, esta técnica puede producir capiteles dinámicos para cualquier párrafo al que quiera aplicarlo.  También puede reemplazar los tags <code>&lt;a&gt;</code>, dándoles a su página reemplazo para sus hipervínculos, pero obtener rollovers requerirían una mayor modificación.  También, en lugar de reemplazar dinámicamente el contenido con tags <code>&lt;img&gt;</code>, esta técnica puede evitar el uso del PHP y en su lugar insertar archivos de animación Flash</p>
<h3>Agradecimientos</h3>
<p>Peter-Paul Koch, por su <a title="técnica de reemplazo por imágenes con JavaScript" href="http://www.quirksmode.org/dom/fir.html">técnica de reemplazo por imágenes con JavaScript</a>.  Simon Willison, por su función <code><a title="getElementsBySelector" href="http://simon.incutio.com/archive/2003/03/25/getElementsBySelector">getElementsBySelector</a></code>.  Stuart Langridge, por sus <a title="técnicas de JavaScript no intrusivo" href="http://www.kryogenix.org/code/browser/">técnicas de JavaScript no intrusivo</a>.</p>
<dl class="trans">
<dt>Traducciones</dt>
<dd><a title="Alemán - German" href="http://webdesign.weisshart.de/dynatext.php">Alemán</a> (webdesign.weisshart.de)</dd>
</dl>
<h2>Discusión</h2>
<p>¿Esto fue interesante? <a href="http://alistapart.com/discuss/dynatext/">Discuta</a> este artículo en inglés</p>
]]></content:encoded>
			<wfw:commentRss>http://www.imgdigital.com.ar/textos/reemplazo-dinamico-con-imagenes/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Served from: www.imgdigital.com.ar @ 2012-05-19 02:55:36 by W3 Total Cache -->
