我正在制作一个照相馆,但我的所有照片都是在原点上画的(0,0)。
canvasContent.drawImage(arrPhoto[currentIndex], 0, 0);
如何确保我的图像在画布对象的中间绘制?
感谢您帮助我!
更新
我可能认为我的问题有点不对劲。 我的意思是:我希望我的图像中间位于画布的中间,而不是图像的上角。
对不起
编辑:拼写错误
Edit2:错字
答案 0 :(得分:31)
如果你提供x, y
这样的位置:
var image = arrPhoto[currentIndex];
canvasContent.drawImage(image,
canvas.width / 2 - image.width / 2,
canvas.height / 2 - image.height / 2
);
那么它应该出现在中心。有关此操作的示例,请访问:http://jsfiddle.net/VPLZc/2/。
答案 1 :(得分:4)
如果你想把它画到中心,你需要知道图像的宽度和高度。之后变得容易:
//var canvas = document.getElementById("yourCanvasElementID");
var img = arrPhoto[currentIndex];
canvasContent.drawImage(img, (canvas.width-img.width)/2, (canvas.height-img.height)/2);
答案 2 :(得分:2)
按+ (image.width / 2)
和+ (image.height / 2)
偏移原点(始终为0,0 - 左上角)以开始在画布中心绘制。
drawImage(image, image.width/2, image.height/2)
答案 3 :(得分:0)
如果您希望它位于中心并重新缩放图像,它会从顶角缩小,但中心点保持不变。如果您使用 JavaScript 调整图像大小,则不应这样做,而应将图像编辑为更小/更大。