我正在处理图片上传,我需要为图片形状添加功能。
有横向,纵向,正方形和全景按钮。当用户单击其中任何一个时,div形状将相应更改。
这是方形的代码,但是当我点击方形时,它会拉伸图像。我想在不拉伸图像的情况下改变div的形状。
$('#Square').on('click', function(){
var images = $("#uploadedImage");
for(i=0; i<images.length; i++)
images[i].onload = centerImage(images[i]);
function centerImage(img) {
if (img.width > img.height ) {
var y = 160;
var x = img.width/img.height*y;
var marx = (x-y)/2;
img.style.height = y+"px";
img.style.marginLeft = -(marx) + "px";
}
}
});
答案 0 :(得分:0)
如果没有更通用的代码,很难重新创建运行示例,但是你的函数明显改变了变量img的尺寸,传入函数的图像,以及除了点击的图像之外的任何div或其他元素。如果您想根据图像的相同HxW测试更改div,请将函数的img。*部分更改为$('#DivYouWant')。*,您应该走上正确的轨道。有点像:
function centerImage(img) {
if (img.width > img.height ) {
var y = 160;
var x = img.width/img.height*y;
var marx = (x-y)/2;
$('#DivYouWannaMod').height = y+"px";
$('#DivYouWannaMod').marginLeft = -(marx) + "px";
}
}