HTML5 ক্যানভাস এমন পদ্ধতি প্রদান করে যা সরাসরি রূপান্তর ম্যাট্রিক্সে পরিবর্তনের অনুমতি দেয়। ট্রান্সফরমেশন ম্যাট্রিক্স অবশ্যই আইডেন্টিটি ট্রান্সফর্ম হতে হবে। এটি তখন রূপান্তর পদ্ধতি ব্যবহার করে সামঞ্জস্য করা যেতে পারে।
Tপরিবর্তন (m11, m12, m21, m22, dx, dy) পদ্ধতিটি অবশ্যই বর্তমান রূপান্তর ম্যাট্রিক্সকে −
দ্বারা বর্ণিত ম্যাট্রিক্সের সাথে গুণ করতে হবেm11 m21 dx m12 m22 dy 0 0 1
The setTransform(m11, m12, m21, m22, dx, dy) পদ্ধতিটিকে অবশ্যই বর্তমান ট্রান্সফর্মটিকে আইডেন্টিটি ম্যাট্রিক্সে রিসেট করতে হবে এবং তারপর একই আর্গুমেন্ট সহ ট্রান্সফর্ম(m11, m12, m21, m22, dx, dy) পদ্ধতিটি চালু করতে হবে।
<!DOCTYPE HTML> <html> <head> <script> function drawShape(){ // get the canvas element using the DOM var canvas = document.getElementById('mycanvas'); // Make sure we don't execute when canvas isn't supported if (canvas.getContext){ // use getContext to use the canvas for drawing var ctx = canvas.getContext('2d'); var sin = Math.sin(Math.PI/6); var cos = Math.cos(Math.PI/6); ctx.translate(200, 200); var c = 0; for (var i=0; i <= 12; i++) { c = Math.floor(255 / 12 * i); ctx.fillStyle = "rgb(" + c + "," + c + "," + c + ")"; ctx.fillRect(0, 0, 100, 100); ctx.transform(cos, sin, -sin, cos, 0, 0); } ctx.setTransform(-1, 0, 0, 1, 200, 200); ctx.fillStyle = "rgba(100, 100, 255, 0.5)"; ctx.fillRect(50, 50, 100, 100); } else { alert('You need Safari or Firefox 1.5+ to see this demo.'); } } </script> </head> <body onload="drawShape();"> <canvas id = "mycanvas" width = "400" height = "400"></canvas> </body> </html>