我正在使用在 HTML5 上使用画布旋转的静态图像,但是当我得到结果时,由于图像的形式,它不在正确的位置。它有点高。
我需要一种方法来解决这个问题,以便让我的车在街道上正确定位。我怎么能做到?
原始图像
重新绘制的图像是
旋转图像后的示例图
使用的代码
function callbackIconMarkerSuccess (index, urlIconMarker) {
markers[index].setIcon(urlIconMarker);
}
function setIconMarker(index, course, speed){
course = parseFloat (course) * 0.01745327777;
if (parseInt(speed) > 5) {
imageIcon = '{% static "markers/icon_max.png" %}';
} else {
imageIcon = '{% static "markers/onstop.png" %}';
}
var elemento = document.createElement("canvas");
if(elemento && elemento.getContext){
var context = elemento.getContext('2d');
if(context){
var imageObj = new Image();
imageObj.src = imageIcon;
imageObj.onload = function(){
elemento.width = imageObj.width;
elemento.height = imageObj.height;
context.save();
context.translate(imageObj.width/2, imageObj.height/2);
context.rotate(course);
context.drawImage(imageObj, -(imageObj.width/2), -(imageObj.height/2));
//context.globalCompositeOperation = "lighter";
//context.globalAlpha = 0.5;
//context.fillStyle="#550000";
context.fillRect(imageObj.width/2, imageObj.height/2, elemento.width,elemento.height);
context.restore();
callbackIconMarkerSuccess(index, elemento.toDataURL());
}
}
}