在画布的中间绘制图像
Draw images on in the middle of a canvas
我正在创建一个图片库,但我所有的图像都绘制在原点(0,0)。
canvasContent.drawImage(arrPhoto[currentIndex], 0, 0);
我如何确保我的图像绘制在画布对象的中间?
谢谢你的帮助!
我可能把问题提错了一点。我的意思是:我希望图像的中间位于画布的中间,而不是图像的顶部。
对不起
编辑:输入错误
Edit2:错误
如果您像这样提供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/.
如果你想把它画到中间,你需要知道图像的宽度和高度。之后就容易了:
//var canvas = document.getElementById("yourCanvasElementID");
var img = arrPhoto[currentIndex];
canvasContent.drawImage(img, (canvas.width-img.width)/2, (canvas.height-img.height)/2);
将原点(始终为0,0 -左上角)偏移+ (image.width / 2)
和+ (image.height / 2)
,以开始在画布中心绘制。
drawImage(image, image.width/2, image.height/2)
如果你想让它在中心,你正在重新缩放图像,它从顶部的角落缩小,但中心点保持不变。如果你用JavaScript调整图像的大小,你不应该这样做,而只是编辑图像,使其更小/更大。
相关文章:
- 画布:逐像素绘制图像并请求动画帧计时
- WebGL绘制图像
- 多重绘制图像后画布清除
- 可以'清除Rect后,不要在画布上绘制图像
- 如何在单页应用程序中重新绘制图像
- 画布中的图像在绘制图像后立即消失
- 使用Canvas绘制图像
- 如何在javascript中在图像上绘制图像(没有CSS和HTML)
- 使用模式在 HTML5/JS 中绘制图像
- 绘制并重新绘制图像以模拟动画是行不通的
- Dart Canvas未绘制图像
- 在新窗口中打开时,未在画布中绘制图像
- 在画布上绘制图像并导出打印质量的图像
- 用一个加载项绘制图像阵列
- html画布绘制图像不起作用
- Chrome 31.0 HTML5画布绘制图像
- 用HTML5和Javascript绘制图像
- 在新框架上绘制图像,同时仍然使用P5.js中的利萨茹曲线
- 如何在画布上更快地绘制图像
- 在 HTML5 画布中绘制图像,同时保留图像