News:

SMF 2.1.4 has been released! Take it for a spin! Read more.

Main Menu

codigo para poner el nombre de la web

Started by djvitro, March 12, 2006, 07:42:03 PM

Previous topic - Next topic

djvitro

queria saver si ay algun tipo de script o algo para que las fotos que suban los usuarios en cada foto automaticamente se ponga el nombre de la web

Leo.J90


djvitro

y como funciona o como se pone ufff  lo veo muy complicado no se ni que opcion es

Leo.J90

#3
Dame un segundo que busco tutoriales de esto y te digo bien como meterlo al SMF.


Ooo ST.GOOGLE! :P

Nuestra tarea consistirá en crear la imagen que usaremos para nuestras marcas de agua. Debe ser en formato PNG de 24 bits, recomiendo ponerle fondo transparente y algo de transparencia en la capa que utilicemos, para que se incruste de manera más profesional.

Una vez que tenemos nuestra imagen (que no debe ser demasiado grande ni demasiado pequeña puesto que debe ser legible pero tampoco queremos que estorbe) la copiamos en la misma carpeta que las imágenes originales.

Ahora echamos un vistazo al siguiente código y personalizamos las rutas y demás variables a nuestro gusto.


//Script para poner marcas de agua a las imágenes

// directorio donde se ubiquen nuestras imágenes
$DIR_ORIGINAL = "/home/httpd/vhosts/midominio.com/httpdocs/imagenes";

// directorio de destino
$DIR_NUEVA = "/home/httpd/vhosts/midominio.com/httpdocs/marcas";

// el siguiente valor es para limitar el tiempo de espera para la ejecución del script
// mejor dejémoslo ilimitado puesto que nos pueden resultar cortos los 30 segundos que tiene por defecto.
set_time_limit(0);

// funcion marcadeagua()
function marcadeagua($img_original, $img_marcadeagua, $img_nueva, $calidad) {

// obtener datos de la fotografia
$info_original = getimagesize($img_original);
$anchura_original = $info_original[0];
$altura_original = $info_original[1];

// obtener datos de la "marca de agua"
$info_marcadeagua = getimagesize($img_marcadeagua);
$anchura_marcadeagua = $info_marcadeagua[0];
$altura_marcadeagua = $info_marcadeagua[1];

// calcular la posición donde se debe incrustar la "marca de agua"
// en este caso la centramos tanto en altura como en anchura
$horizextra = $anchura_original - $anchura_marcadeagua;
$vertextra = $altura_original - $altura_marcadeagua;
$horizmargen = round($horizextra / 2);
$vertmargen = round($vertextra / 2);

// crear imagen desde el original
$original = ImageCreateFromJPEG($img_original);
ImageAlphaBlending($original, true);

// crear nueva imagen desde la marca de agua
$marcadeagua = ImageCreateFromPNG($img_marcadeagua);

// copiar la "marca de agua" en la fotografia
ImageCopy($original, $marcadeagua, $horizmargen, $vertmargen, 0, 0, $anchura_marcadeagua, $altura_marcadeagua);

// guardar la nueva imagen
ImageJPEG($original, $img_nueva, $calidad);

// cerrar las imágenes
ImageDestroy($original);
ImageDestroy($marcadeagua);
}

$dir = opendir($DIR_ORIGINAL);

while(false !== ($file = readdir($dir))) {
if (!is_dir($file) && $file != "." && $file != ".." && exif_imagetype($file)==2) {

// aplicar función
marcadeagua($DIR_ORIGINAL."/".$file,"marcadeagua.png",$DIR_NUEVA."/".$file,100);
}
}
closedir($dir);


Ahora, tienes que hacer eso que dice allí. El código lo tienes que meter en el archivo que hace el upload de los attachments... ahorita checo y te digo cual es.


Mete el código en la línea 185 del archivo ManageAttachments.php que está en la carpeta Sources y checa a ver si funciona. Talvez de un error si se suben *.zip o cualquier tipo de archivo que no sea una imagen. Para eso en los tipos de archivos que se pueden subir pon solamente jpg,gif,png,bmp o deja que cheque como se hace un if para saber si lo que se ha subido es una imagen o no (porque nimodo que le agregues una "marca de agua" a un *.zip :P).



Lo más importante. Fuente: http://www.bitacoradewebmaster.com/index.php?p=519 [gracias a St. Google]

Advertisement: