<?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>Codigo Manso &#187; auto-rotate</title>
	<atom:link href="http://www.codigomanso.com/es/tag/auto-rotate/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.codigomanso.com</link>
	<description>Programación, informática y tecnología</description>
	<lastBuildDate>Sun, 21 Aug 2011 10:54:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Rotar una imagen usando la información EXIF</title>
		<link>http://www.codigomanso.com/es/2009/02/using-exif-information-to-automatically-rotate-an-image/</link>
		<comments>http://www.codigomanso.com/es/2009/02/using-exif-information-to-automatically-rotate-an-image/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 11:57:10 +0000</pubDate>
		<dc:creator>Pau Sanchez</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[auto-orient]]></category>
		<category><![CDATA[auto-rotate]]></category>
		<category><![CDATA[image edition]]></category>
		<category><![CDATA[ImageMagick]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[jhead]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rotate image]]></category>

		<guid isPermaLink="false">http://www.codigomanso.com/es/?p=566</guid>
		<description><![CDATA[EXIF son las siglas de Exchangeable Image File Format. Básicamente se trata de una especificación de facto que utilizan prácticamente la totalidad de cámaras digitales hoy día.
Lo que dicta esta especificación es cómo añadir datos extra en una imágen (JPEG y TIFF), de tal forma que cuando se hace una foto, la cámara digital guarda [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">EXIF son las siglas de <a href="http://en.wikipedia.org/wiki/Exchangeable_image_file_format" target="_blank">Exchangeable Image File Format</a>. Básicamente se trata de una especificación de facto que utilizan prácticamente la totalidad de cámaras digitales hoy día.</p>
<p style="text-align: justify;">Lo que dicta esta especificación es cómo añadir datos extra en una imágen (JPEG y TIFF), de tal forma que cuando se hace una foto, la cámara digital guarda información sobre la cámara con la que está hecha la foto, las dimensiones de la imagen, resolución, tiempos de exposición, apertura, etc&#8230; y también nos dice si la <em><strong>imagen está rotada</strong></em><strong>,</strong> y cuantos grados<strong>.</strong></p>
<p style="text-align: justify;">La rotación de la foto ocurre básicamente cuando pones la cámara en vertical para realizar la foto.</p>
<p style="text-align: justify;">El problema, es que si tu coges esa imágen en vertical, y la subes al servidor, y la muestras en el navegador, la imagen aparece doblada, no está como debería estar. Si queremos que automaticamente esa imagen aparezca bien, habrá que usar la información EXIF para darle la vuelta.</p>
<p style="text-align: justify;">Prácticamente cualquier programa de edición o visualización de fotos puede hacerlo (de hecho muchos lo haces y ni te enteras). Pero como esto es un blog de programación, lo interesante es ver cómo automatizar esto, para usarlo desde PHP o desde donde sea.</p>
<p style="text-align: justify;">Básicamente hay dos programas que permiten hacer esto de forma fácil.</p>
<h5><strong>ImageMagick</strong></h5>
<p>Como no, aún no he encontrado nada que no se pueda hacer con <a href="http://www.imagemagick.com" target="_blank">ImageMagick</a>. Con la opción -auto-orient ImageMagick le da automáticamente la vuelta a una imagen.</p>
<p>Usar ImageMagick tiene dos problemas:</p>
<ol>
<li>Para darle la vuelta con<strong> -auto-orient</strong> <a href="http://www.imagemagick.org/Usage/photos/#orient" target="_blank">ImageMagick lee la imagen (JPEG) , realiza las transformaciones pertinentes, y la escribe a disco</a>. Esto lo que significa es que como JPEG tiene compresión con pérdida, <strong>la calidad de la imagen resultante va a ser peor.</strong></li>
<li>El segundo problema es que en la versión 6.3.7 (hoy por hoy, la que hay por defecto en Ubuntu 8.10) <a href="http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&amp;t=11925" target="_blank"><strong>hay un bug y</strong> <strong>NO FUNCIONA</strong></a>.</li>
</ol>
<p>Ejemplo para auto orientar la imágen 1:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ convert imagen1.jpg <span style="color: #660033;">-auto-orient</span> imagen-auto-orientada.jpg</pre></div></div>

<p>Por lo visto a partir de la versión 6.4.x el bug ya está solucionado, no obstante, el primer problema de degradación de la imagen inamovible, lo cual nos lleva a:</p>
<h5><strong>JHead</strong></h5>
<p><a href="http://www.sentex.net/~mwandel/jhead/">JHead</a> es un programa para manipular la información EXIF de las imágenes JPEG, transferir información de unas imágenes a otras, etc&#8230;</p>
<p>Lo que nos interesa es la opción <strong>-autorot</strong>, que básicamente permite rotar automáticamente las imágenes usando la información EXIF <strong>sin degradar</strong> la imagen original.</p>
<p>Ejemplo para rotar automáticamente todas las imágenes del directorio actual:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ jhead <span style="color: #660033;">-autorot</span> <span style="color: #000000; font-weight: bold;">*</span>.jpg</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.codigomanso.com/es/2009/02/using-exif-information-to-automatically-rotate-an-image/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
	</channel>
</rss>

