Redimensionamiento de Imágenes

Gloria
10 de Enero del 2005
Hola a todos!. Megustaría saber si es posible hacer lo siguiente: estoy creando una web de recetas, en la que cada receta tiene una foto. He creado un sistema para subir las imágenes al servidor, y mostrarlas guardando la ruta en MySQL. El problema es que me gustaría no tener que redimensionar las fotos con fireworks cada vez que vaya a meter una, sino que me gustaria hacerlo con PHP antes de subirla definitivamente al servidor, que el redimensionamiento esté en la misma aplicación que las sube al servidor. Las soluciones que he visto en los foros no me valen, usando la libreria gráfica GD creo una copia redimensionada de una imagen ya existente en la base de datos, y lo que yo quiero es que al subir mi imagen de la camara digital a 150 ppp y 1024x768, se reduzca a 72ppp y 150x150 de tamaño. Espero que alguien me den una pista, muchas gracias de antemano.

vlc
10 de Enero del 2005
Mira a ver si te sirve esto. Le he quitado algunas lineas, porque yo lo uso para que me cree thumbs o para redimensionar, y lo he dejado solo para los thumbs.

function createthumb($PATH, $IMAGE_SOURCE){
$OUTPUT_FILE="tn_$IMAGE_SOURCE";
$BACKUP_FILE = "bkp_".$OUTPUT_FILE;
copy($PATH.$IMAGE_SOURCE,$BACKUP_FILE);
$IMAGE_PROPERTIES = GetImageSize($BACKUP_FILE);
if (!$IMAGE_PROPERTIES[2] == 2) { // No admite GIF
return(0);
} else {
$SRC_IMAGE = ImageCreateFromJPEG($BACKUP_FILE);
$SRC_X = ImageSX($SRC_IMAGE);
$SRC_Y = ImageSY($SRC_IMAGE);
if($SRC_X > $SRC_Y) { # ES HORIZONTAL?
$THUMB_X="75"; $THUMB_Y="0";
} else { # ES VERTICAL
$THUMB_X="0"; $THUMB_Y="75";
}
if (($THUMB_Y == "0") && ($THUMB_X == "0")) {
return(0);
} elseif ($THUMB_Y == "0") {
$SCALEX = $THUMB_X/($SRC_X-1);
$THUMB_Y = $SRC_Y*$SCALEX;
} elseif ($THUMB_X == "0") {
$SCALEY = $THUMB_Y/($SRC_Y-1);
$THUMB_X = $SRC_X*$SCALEY;
}
$THUMB_X = (int)($THUMB_X);
$THUMB_Y = (int)($THUMB_Y);
$DEST_IMAGE = imagecreatetruecolor($THUMB_X, $THUMB_Y);
unlink($BACKUP_FILE);
if (!imagecopyresized($DEST_IMAGE, $SRC_IMAGE, 0, 0, 0, 0, $THUMB_X, $THUMB_Y, $SRC_X, $SRC
_Y)) {
imagedestroy($SRC_IMAGE);
imagedestroy($DEST_IMAGE);
return(0);
} else {
imagedestroy($SRC_IMAGE);
if (ImageJPEG($DEST_IMAGE,$OUTPUT_FILE)) {
copy($OUTPUT_FILE, $PATH.$OUTPUT_FILE);
}
unlink($OUTPUT_FILE); // ..y machaco el que ha creado en este directorio
imagedestroy($DEST_IMAGE);
return(1);
}
imagedestroy($DEST_IMAGE);
}
return(0);
}
} # end createthumb

Espero que te sirva
Salu2
Paco