Показать сообщение отдельно
  #17 (permalink)  
Старый 23.05.2012, 12:10
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от Gozar Посмотреть сообщение
Сразу вопрос, т.к. это первый мой код связанный с canvas, нет ли решения по проще, например указания точки смещения центра?
Если нет то просьба тыкать во все узкие места скрипта. Ну а остальным просто дарю
<!DOCTYPE HTML PUBLIC "-//W3C//DTD 
HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"
>
<html>
<head></head>
<body>
<canvas id="ci" width="280" height="280"></canvas>
<script>
function CanvasCenter(){
var i = new Image();
i.onload = function(){
 var dl = i.width;
var cnv=document.getElementById("ci"); 
var c = cnv.getContext("2d");
   c.drawImage(i, 0, 0, dl, dl);
       var beta = -3;           
var beta = (beta*Math.PI)/360;
var bet=0;      
var x=100;
var y=100;                           
setTimeout(function(){
  bet+=beta; 
c.clearRect(0,0,cnv.width,cnv.height);
c.save();
c.translate(x,y);
c.rotate(bet);
c.drawImage(i, -dl/2, -dl/2);
c.restore();
setTimeout(arguments.callee,10);
                 },0);
}
i.src = "http://javascript.ru/forum/image.php?u=11&dateline=1273676600";
};
CanvasCenter();
</script>
</body></html>
Вот мой вариант-смешение можно задавать
rotate постоянно пользуюсь
а для того чтобы записать и вернуть текущий контест служат функции save() и restore()-
Ответить с цитированием