Pues no entiendo porqué ésta función está desactivada, ya que la utilizo para que mi página web tarde menos tiempo en cargarse, lo que supone un ahorro de ancho de banda para el servidor de miarroba.com.
Uso la función para crear una imagen de 128*96 pixeles (en el caso de imágenes horizontales) o de 96*128 (en el caso de imágenes verticales) a partir de una imagen de mayor tamaño.
Entiendo que se establezca un límite de 30 segundos para la ejecución de un script php. Tenía una página para subir fotos y "rompía en ejecución" cuando las fotos tardaban en subirse más tiempo que el permitido para la ejecución de un script en miarroba.
Con la función imagecreatetruecolor(), mi único objetivo es hacer un menor uso de los recursos del servidor creando una miniatura de 128*96 pixeles que ocupa entre 10 y 30 veces menos que la imagen de 640*480 pixels. En el caso de que no exista una miniatura de una foto, el programa ejecuta esta parte del código
if (!file_exists ("MINI".$fotos[$i]))
{
list($ancho, $altura, $tipo, $atr) = getimagesize($fotos[$i]);
$max = 128;
$max2 = 96;
$nuevoancho = $ancho/8;
$nuevoaltura = $altura/8;
if (($nuevoancho > $max) || ($nuevoaltura > $max)){
if ($nuevoancho > $nuevoaltura){
$nuevoancho = $max;
$nuevoaltura = $max2;
}
else{
$nuevoancho = $max2;
$nuevoaltura = $max;
}
}
if (($nuevoancho < $max2) || ($nuevoaltura < $max2)){
if ($nuevoancho > $nuevoaltura){
$nuevoancho = $max;
$nuevoaltura = $max2;
}
else{
$nuevoancho = $max2;
$nuevoaltura = $max;
}
}
$newImage = imagecreatetruecolor($nuevoancho, $nuevoaltura);
$cpyImage = ImageCreateFromJPEG($fotos[$i]);
ImageCopyResized($newImage, $cpyImage, 0, 0, 0, 0, $nuevoancho, $nuevoaltura, $ancho, $altura);
ImageJPEG($newImage, "MINI$fotos[$i]");
}