Недавно я участвовал в веб-проекте, который имеет огромное количество изображений для обработки и отображения на веб-странице, мы знаем, что ширина и высота загружаемых конечных пользователей изображений не могут быть легко управляемы, а затем их трудно отобразить. Во-первых, я попытался увеличить/уменьшить масштаб изображения, чтобы rearch соответствующее представление, и я сделал это, но мой босс еще не доволен моим решением, следующий мой путь:Как отобразить часть изображения для определенной ширины и высоты?
var autoResizeImage = function(maxWidth, maxHeight, objImg) {
var img = new Image();
img.src = objImg.src;
img.onload = function() {
var hRatio;
var wRatio;
var Ratio = 1;
var w = img.width;
var h = img.height;
wRatio = maxWidth/w;
hRatio = maxHeight/h;
if (maxWidth == 0 && maxHeight == 0) {
Ratio = 1;
} else if (maxWidth == 0) {
if (hRatio < 1) {
Ratio = hRatio;
}
} else if (maxHeight == 0) {
if (wRatio < 1) {
Ratio = wRatio;
}
} else if (wRatio < 1 || hRatio < 1) {
Ratio = (wRatio <= hRatio ? wRatio : hRatio);
}
if (Ratio < 1) {
w = w * Ratio;
h = h * Ratio;
}
w = w <= 0 ? 250 : w;
h = h <= 0 ? 370 : h;
objImg.height = h;
objImg.width = w;
};
};
Этот путь предназначен только для ограничения максимальной ширины и высоты изображения, так что каждое изображение в альбоме по-прежнему имеет разную ширину и высоту, которые все еще очень актуальны.
И в эту минуту я знаю, что мы можем создать DIV и использовать изображение в качестве фонового изображения, этот способ слишком сложный и не прямой, который я не хочу принимать. Поэтому мне интересно, есть ли лучший способ отображать изображения с фиксированной шириной и высотой без искажения представления?
Спасибо.