Mam dziwny problem, gdy robię obrót przekazując literalną wartość kąta (otrzymuję poprzedni kąt drukowany przez konsolę i zamiast tego umieszczam zmienną) działa idealnie, ale jeśli uruchomię kod przekazujący zmienną, jak mój kod poniżej, obraz jest narysowany "więcej góra i więcej w lewo" (przepraszam za mój zły angielski)Obracanie obrazu przez jego własne centrum na płótnie
function setImg(src,x,y,angle)
{
var TO_RADIANS = Math.PI/180;
var base_image = new Image();
base_image.src = src
base_image.onload = function() {
console.log("-->->"+parseFloat(angle))
ctx.save(); //saves the state of canvas
ctx.translate(x+(base_image.width/2), y+(base_image.height/2)); //let's translate
ctx.rotate(angle*TO_RADIANS); //increment the angle and rotate the image
ctx.drawImage(base_image, -(base_image.width/2),-(base_image.height/2)); //draw the image ;)
ctx.restore(); //restore the state of canvas
};
}
dziękuję!
Dlaczego nie używać css do obracania obrazu? – Mottie
'base_image' jest zmienną globalną. Bez kodu zaangażowanego w deklarację i dodatkowego użycia tego var nie możemy pomóc, ponieważ nie ma nic złego w kodzie. – Blindman67
edytowane: base_image jest zmienną lokalną, ale wciąż robi to samo. Nie używam css, ponieważ potrzebuję obrazów na płótnie do namalowania ponad –