Modificar Random Image Selector
by Marat on feb.11, 2009, under Wordpress
Random Image Selector es plugin de WordPress para presentar imágenes aleatorias de un directorio determinado.
Presenta, entre sus opciones, la posibilidad de seleccionar cómo se va a redimensionar la imagen, fijando el ancho, calcula el alto; fijando el alto, calcula el ancho. La tercera opción “Constraint both width an height” fija ambas medidas.
El problema de esta última opción es, que las imágenes rectangulares (la mayoría), son deformadas para caber exactamente en el cuadrado definido por ambas medidas, como se muestra en la siguiente imagen tomada de Flickr.
![]() |
![]() |
| Imagen original | Imagen mostrada por Random Image Selector |
La solución pasa por editar el archivo que se encuentra en ../wp-content/plugins/random-image-selector/randomImage.php. Entre la línea 220 y 238 ( en la versión 1.5.4) encontramos el siguiente código:
switch($scaleOption)
{
case 'high':
$ratio = $physHeight / $scaleHeight;
$physWidth = $physWidth / $ratio;
$physHeight = $scaleHeight;
break;
case 'wide':
$ratio = $physWidth / $scaleWidth;
$physHeight = $physHeight / $ratio;
$physWidth = $scaleWidth;
break;
case 'spec':
$physHeight = $scaleHeight;
$physWidth = $scaleWidth;
break;
default:
break;
}
que deberemos sustituir por este otro:
//***********Copy from here****************
// Modificado por http://www.malditoraton.com
switch($scaleOption)
{
case 'high':
$ratio = $physHeight / $scaleHeight;
$physWidth = $physWidth / $ratio;
$physHeight = $scaleHeight;
break;
case 'wide':
$ratio = $physWidth / $scaleWidth;
$physHeight = $physHeight / $ratio;
$physWidth = $scaleWidth;
break;
case 'spec':
if ($physHeight < $physWidth){
$ratio = $physWidth / $scaleWidth;
$physWidth = $scaleWidth;
$physHeight = $physHeight / $ratio;
}else{
$ratio = $physHeight / $scaleHeight;
$physHeight = $scaleHeight;
$physWidth = $physWidth / $ratio;
}
break;
default:
break;
}
//**************to here************************
y la imagen os la devolverá perfectamente ajustada, para que quepa sin deformación en una ventana definida por las medidas para las que se ha configurado el plugin. Si preferís no editar código podeis descargar la versión completa desde este enlace random-image-selector

