J'essaie de créer des vignettes à partir d'images soumises par les utilisateurs, qui peuvent être de tailles différentes, mais ce que j'essaie de faire, c'est.. :
Utilisez la dimension la plus courte de l'image pour remplir l'espace prévu pour l'image. (si l'image est de 500x350 et que la taille de la vignette est de 250x250, la hauteur de l'image remplira la vignette). J'essaie ensuite de centrer l'image dans l'autre dimension. J'ai du mal à le faire et je ne sais pas si je dois utiliser CSS ou Javascript. Toute suggestion serait la bienvenue.
La solution : J'ai réussi à le faire fonctionner comme je le voulais avec ceci.
function sizeThumbs(){
//resize each idea image so it is a good sized/centered thumbnail
$.each($("img.thumbpic"), function() {
var maxWidth = 250;
var maxHeight = 150;
var width = $(this).width();
var height = $(this).height();
if((width/maxWidth) < (height/maxHeight)){
var multiplier = maxWidth/width;
var newHeight = height * multiplier;
$(this).css("width", maxWidth);
$(this).css("height", newHeight);
var heightD = (maxHeight - newHeight)/2;
$(this).css("margin-top", heightD+"px");
$(this).css("margin-bottom", heightD+"px");
}else{
var multiplier = maxHeight/height;
var newWidth = width * multiplier;
$(this).css("width", newWidth);
$(this).css("height", maxHeight);
var widthD = (maxWidth - width)/2;
$(this).css("margin-left", widthD+"px");
$(this).css("margin-right", widthD+"px");
}
});
}