// ctxX 居中容器的宽 | ctxY居中容器的高 | imgW图片的宽 | imgH图片的高
function calculation (ctxX, ctxY, imgW, imgH) {
console.log(ctxX / ctxY, imgW / imgH)
let obj = {
x: 0, // x轴
y: 0, // y轴
w: 0,// 图片宽度
h: 0 // 图片高度
}
if (ctxX / ctxY > imgW / imgH) {
obj.w = Math.ceil(imgW * (ctxY / imgH)) <= ctxX ? Math.ceil(imgW * (ctxY / imgH)) : ctxX
obj.h = ctxY
} else {
obj.w = ctxX
obj.h = Math.ceil(imgH * (ctxX / imgW)) <= ctxY ? Math.ceil(imgH * (ctxX / imgW)) : ctxY
}
obj.x = Math.round(((ctxX - obj.w) / 2))
obj.y = Math.round(((ctxY - obj.h) / 2))
return obj
}
canvas图片自适应大小,垂直水平居中。
最新推荐文章于 2024-06-21 15:28:18 发布