<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: html5 code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Thu, 21 Aug 2008 15:46:34 GMT</pubDate>
    <description>DZone Snippets: html5 code</description>
    <item>
      <title>Image Rotate with CANVAS</title>
      <link>http://snippets.dzone.com/posts/show/5514</link>
      <description>&lt;code&gt;&lt;br /&gt;&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"&lt;br /&gt;	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;&lt;br /&gt;&lt;br /&gt;&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"&gt;&lt;br /&gt;&lt;head&gt;&lt;br /&gt;	&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;&lt;br /&gt;	&lt;title&gt;rotate()&lt;/title&gt;&lt;br /&gt;	&lt;br /&gt;	&lt;style type="text/css" media="screen"&gt;&lt;br /&gt;	img, canvas { border: 1px solid black; }&lt;br /&gt;	&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;&lt;br /&gt;function rotate(p_deg) {&lt;br /&gt;	if(document.getElementById('canvas')) {&lt;br /&gt;		/*&lt;br /&gt;		Ok!: Firefox 2, Safari 3, Opera 9.5b2&lt;br /&gt;		No: Opera 9.27&lt;br /&gt;		*/&lt;br /&gt;		var image = document.getElementById('image');&lt;br /&gt;		var canvas = document.getElementById('canvas');&lt;br /&gt;		var canvasContext = canvas.getContext('2d');&lt;br /&gt;		&lt;br /&gt;		switch(p_deg) {&lt;br /&gt;			default :&lt;br /&gt;			case 0 :&lt;br /&gt;				canvas.setAttribute('width', image.width);&lt;br /&gt;				canvas.setAttribute('height', image.height);&lt;br /&gt;				canvasContext.rotate(p_deg * Math.PI / 180);&lt;br /&gt;				canvasContext.drawImage(image, 0, 0);&lt;br /&gt;				break;&lt;br /&gt;			case 90 :&lt;br /&gt;				canvas.setAttribute('width', image.height);&lt;br /&gt;				canvas.setAttribute('height', image.width);&lt;br /&gt;				canvasContext.rotate(p_deg * Math.PI / 180);&lt;br /&gt;				canvasContext.drawImage(image, 0, -image.height);&lt;br /&gt;				break;&lt;br /&gt;			case 180 :&lt;br /&gt;				canvas.setAttribute('width', image.width);&lt;br /&gt;				canvas.setAttribute('height', image.height);&lt;br /&gt;				canvasContext.rotate(p_deg * Math.PI / 180);&lt;br /&gt;				canvasContext.drawImage(image, -image.width, -image.height);&lt;br /&gt;				break;&lt;br /&gt;			case 270 :&lt;br /&gt;			case -90 :&lt;br /&gt;				canvas.setAttribute('width', image.height);&lt;br /&gt;				canvas.setAttribute('height', image.width);&lt;br /&gt;				canvasContext.rotate(p_deg * Math.PI / 180);&lt;br /&gt;				canvasContext.drawImage(image, -image.width, 0);&lt;br /&gt;				break;&lt;br /&gt;		};&lt;br /&gt;		&lt;br /&gt;	} else {&lt;br /&gt;		/*&lt;br /&gt;		Ok!: MSIE 6 et 7&lt;br /&gt;		*/&lt;br /&gt;		var image = document.getElementById('image');&lt;br /&gt;		switch(p_deg) {&lt;br /&gt;			default :&lt;br /&gt;			case 0 :&lt;br /&gt;				image.style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(rotation=0)';&lt;br /&gt;				break;&lt;br /&gt;			case 90 :&lt;br /&gt;				image.style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(rotation=1)';&lt;br /&gt;				break;&lt;br /&gt;			case 180 :&lt;br /&gt;				image.style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(rotation=2)';&lt;br /&gt;				break;&lt;br /&gt;			case 270 :&lt;br /&gt;			case -90 :&lt;br /&gt;				image.style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(rotation=3)';&lt;br /&gt;				break;&lt;br /&gt;		};&lt;br /&gt;		&lt;br /&gt;	};&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;window.onload = function() {&lt;br /&gt;	var image = document.getElementById('image');&lt;br /&gt;	var canvas = document.getElementById('canvas');&lt;br /&gt;	if(canvas.getContext) {&lt;br /&gt;		image.style.visibility = 'hidden';&lt;br /&gt;		image.style.position = 'absolute';&lt;br /&gt;	} else {&lt;br /&gt;		canvas.parentNode.removeChild(canvas);&lt;br /&gt;	};&lt;br /&gt;	&lt;br /&gt;	rotate(0);&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;/head&gt;&lt;br /&gt;&lt;br /&gt;&lt;body&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;	rotate:&lt;br /&gt;	&lt;input type="button" value="0&#176;" onclick="rotate(0);" /&gt;&lt;br /&gt;	&lt;input type="button" value="90&#176;" onclick="rotate(90);" /&gt;&lt;br /&gt;	&lt;input type="button" value="180&#176;" onclick="rotate(180);" /&gt;&lt;br /&gt;	&lt;input type="button" value="-90&#176;" onclick="rotate(-90);" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;	&lt;img id="image" src="http://www.google.com/intl/en_ALL/images/logo.gif" alt="" /&gt;&lt;br /&gt;	&lt;canvas id="canvas"&gt;&lt;/canvas&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/body&gt;&lt;br /&gt;&lt;/html&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ab-d.fr"&gt;Source: AB-D.fr&lt;/a&gt; - &lt;a href="http://www.ab-d.fr/date/2008-05-18/"&gt;Effectuer une rotation d'image en CSS ( rotate balise canvas HTML5 )&lt;/a&gt;</description>
      <pubDate>Sun, 18 May 2008 15:22:51 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/5514</guid>
      <author>ki4ngel (Benoit Asselin)</author>
    </item>
  </channel>
</rss>
