【发布时间】:2013-07-30 01:17:00
【问题描述】:
我有 2 张图片,其中一张有遮罩区域。通过上图的蒙版区域可以看到另一张图像。我想在第一张图像的蒙版区域内居中第二张图像。
目前我正在使用下面的函数将图像缩放到与蒙版区域匹配(它有 3 行代码,我尝试对齐 - 但没有工作),
function scaleimage(img){
img.style.height = 'auto';
img.style.width = 'auto';
//Getting the image hight and width
var imgW = img.clientWidth;
var imgH = img.clientHeight;
//Getting the mask hight and width
var maskH = data.result.mask.maskhight;
var maskW = data.result.mask.maskwidth;
var scaleH = maskH / imgH;
var scaleW = maskW / imgW;
// Scaling
if (scaleH < scaleW) {
img.style.height = maskH + "px";
img.style.width = Math.round(imgW * scaleH) + "px";
} else {
img.style.width = maskW + "px";
img.style.height = Math.round(imgH * scaleW) + "px";
}
//Align image - commented below code since it didnt work
/*img.style.top = Math.round((mask1H - imgH) / 2) + 'px';
img.style.left = '50%';
img.style.marginLeft = Math.round(imgW/2) + 'px'; */
}
当前和预期结果作为说明。 IMAGE 1 有一个可以透视的 Mask 区域,IMAGE 2 在 IMAGE 1 的后面,但它的左上角与 Mask Area 的左上角对齐。我想要的是,IMAGE 2 center = Mask Area Center
我尝试了一些东西,但没有一个完全正确,任何反馈都会非常有帮助
【问题讨论】:
-
现在发生了什么? 2个图像是在彼此之上吗?还是并排?大小一样吗?
-
我用插图更新了我的问题,说明了现在发生的情况和预期的情况。请看一看。
-
可以用你的标记、你的 CSS 和你的代码设置一个小提琴吗?
-
我认为这取决于您在页面中如何称呼它们。在我这样做的网站上,我使用了嵌套 div,内部元素较小,边距为差异的一半。
标签: javascript css alignment