Escrito por: Martín el 11-05-2009 16:37:05 y leído 1839 veces

Hace unos días, necesitando crear dinámicamente una marca de agua sobre las fotos que subía por file upload en PHP, programé unos cambios a una función que uso habitualmente para los upload, con lo que se fusionan ambas imágenes.
Aunque en el ejemplo, la marca de agua es excesiva, puede hacerse a tu gusto, siempre que exportes el archivo en formato PNG 32 con fondo transparente.
Puse una DEMO del funcionamiento en esta dirección, donde, a partir de la imagen subida, se genera una copia con marca de agua y una miniatura sin marca alguna.
¿El código?
Muy fácil, aquí abajo lo tienes.
Que lo disfrutes!
Código PHP
function foto($img_original,$img_nueva,$img_nueva_anchura,$img_nueva_altura,$img_nueva_calidad,$extension){
$watermark = "archivos/ejemplo.png";
$im = imagecreatefrompng($watermark);
if (strtolower($extension)=="jpg") $img = imagecreatefromjpeg($img_original);
if (strtolower($extension)=="gif") $img = imagecreatefromgif($img_original);
if (strtolower($extension)=="png") $img = imagecreatefrompng($img_original);
$ancho = imagesx($img);
$alto = imagesy($img);
$nuevoalto = $img_nueva_anchura*$alto/$ancho;
$thumb = imagecreatetruecolor($img_nueva_anchura,$nuevoalto);
imagecopyresampled($thumb,$img,0,0,0,0,$img_nueva_anchura,$nuevoalto,$ancho,$alto);
$nuevoalto2 = 150*$alto/$ancho;
$thumb2 = imagecreatetruecolor(150,$nuevoalto2);
imagecopyresampled($thumb2,$img,0,0,0,0,150,$nuevoalto2,$ancho,$alto);
imagecopy($thumb, $im, (imagesx($thumb)/2)-(imagesx($im)/2), (imagesy($thumb)/2)-(imagesy($im)/2), 0, 0, imagesx($im), imagesy($im));
if ($extension=="jpg") {imagejpeg($thumb,"archivos/".$img_nueva,$img_nueva_calidad);imagejpeg($thumb2,"archivos/th_".$img_nueva,$img_nueva_calidad);}
if ($extension=="gif") {imagegif($thumb,"archivos/".$img_nueva,$img_nueva_calidad);imagegif($thumb2,"archivos/th_".$img_nueva,$img_nueva_calidad);}
if ($extension=="png") {imagepng($thumb,"archivos/".$img_nueva,$img_nueva_calidad);imagepng($thumb2,"archivos/th_".$img_nueva,$img_nueva_calidad);}
}
if($_POST["accion"]!="") $_GET["accion"]=$_POST["accion"];
if(!$_GET[accion]) $_GET[accion]="form";
switch($_GET[accion])
{
case "subir":
{
echo "<h1>Ver resultado.</h1>";
$nombre = time();
if (is_uploaded_file($_FILES["archivo1"]["tmp_name"]))
{
$extension = explode(".",$_FILES["archivo1"]["name"]);
$hay = count($extension)-1;
$ext = strtolower($extension[$hay]);
$nuevonombre = $nombre.".".$ext;
$dir ="archivos/";
chmod("$dir", 0777);
if ($ext=="jpg" || $ext=="gif" || $ext=="png") foto($_FILES['archivo1']['tmp_name'],$nuevonombre,'640','','80',$ext);
else move_uploaded_file($_FILES["archivo1"]["tmp_name"],"$dir/$nuevonombre");
}
echo "<img src='archivos/$nuevonombre' /><img src='archivos/th_$nuevonombre' />";
break;
}
case "form":
{
echo "<h1>Agregar una Imagen.</h1>";
echo "<form method=POST action=".$_SERVER["PHP_SELF"]." enctype=multipart/form-data>";
echo "<fieldset>Foto 1:<input type=file name=archivo1 /></fieldset>";
echo "<fieldset><input type=hidden name=accion value=subir /><input type=submit name=submit value='Enviar' class='enviar' />";
echo "</fieldset></form>";
break;
}
}
echo "<p>| <img src=images/page_add.png alt='' align=absmiddle border=0 /> <a href=".$_SERVER["PHP_SELF"]."?accion=form>Agregar un registro</a> |</p>";
marca de agua fpdf • fpdf marca de agua • marca de agua • marca de agua php • marca de agua en fotos php • php marca de agua en fotos • marcas de agua • marca de agua en imagenes con php • imagenes con marca de agua • poner marca de agua en fpdf • marca de agua en imagen php • fotos con marca de agua • php marca de agua transparente • marca de agua en php • ejemplos de marca de agua • imagenes extension png • marca de agua imagenes php • marca de agua en imagenes php • marca de agua en input • imagenes para marca de agua • marcas de agua diseñar • marca de agua transparente php • LIBRERIA MARCA DE AGUA PHP • imagen con marca de agua • marca de agua en fotos • marca de agua php ejemplo • fondo de agua fpdf • EJEMPLOS DE MARCAS DE AGUA EN FOTOS • jquery marca de agua php • php marca de agua en foto • marca de agua en imagenes con jquery • php fpdf marca de agua • poner marca de agua php • agregar marca de agua a un pdf con php fpdf • marca de agua en fotos ejemplos • marca agua imagenes php • colocar marca de agua con fpdf • marca de agua php para png jpg gif • fpdf php marca de agua • php marca de agua • php marca de agua upload • sello de agua con php • marca de agua fpdf php • insertar marca de agua con fpdf • upload marca agua • marcas agua • imagenes de marca de agua • poner marca de agua en fpdf php • marca de agua en fotografias • fpdf marca agua • php marca de agua imagen • marca de agua php transparente • marca de agua transparente en php • como poner marca de agua en java • marcas de agua imagen png jquery • php generar imagenes • php Watermark con transparencia • php miniaturas marca de agua • transparencia marca de agua php • marca de agua imagenes • poner marca de agua en pdf php • subir imagenes y ponerle marca de agua php • poner input transparente con php • como poner sello de agua a un pdf por php • marca de agua input text php • php jpg marca de agua transparente • ejemplo fpdf • como colocar un sello o marca de agua transparente en una foto • php poner marca de agua • marca de agua en los archivos pdf en php y ajax • como colocar marca de agua en formulario html • insertar marca agua imagenes subidas • fpdf insertar imagenes marca de agua • marca de Agua con PHP FPDF php • php thumb transparencia • phpthumb php sello de agua • marca agua imagen php • blogger marcas de agua php • foto con marca de agua • jquery marca de agua input text • Marca de agua con php en png • crear fpdf con fondo marca de agua • php subir archivo CON MARCA DE AGUA • ejemplos de marcas de agua • marcas agua transparencia php • FPDF marca dagua imagem • insertar marca de agua con texto en php • function foto($img_original $img_nueva $img_nueva_anchura $img_nueva_altura $img_nueva_calidad $extension){ $watermark = archivos/ejemplo png; • upload foto com marca dágua transparente php • crear marca de agua png • crear marcas de agua en las imagenes con php • poner sello agua php jpg • php marca de aguas en las fotos • subir imagenes marca de agua php • marca de agua con php en un pdf • marca de agua a imagenes css php • ejemplo php marca agua transparencia • poner una marca de agua con php • fpdf imagen fondo agua • crear una marca de agua a una imagen en php •
acordeón actionscript ajax alert ampliar imágenes android antes y después as audio aumentar letra barra desplazamiento blur bordes redondeados botón derecho calcular distancia calendario chart chrome collapse columnas combobox contar caracteres contar followers contextual css cu3er códigos date-picker descargas desenfoque desplazamiento dhtml disminuir letra dominios editor enlaces externos error 404 estrellitas expander fade fecha file upload filtrar contenido flash font size formulario formularios fotografías fpdf frames galería gmail google google docs gratis headers htaccess html html5 iconos ie6 igualar columnas inyección cabeceras ipad iphone javascript jquery jquery ui json lavalamp librería librerías lightbox limitar caracteres links lista listas listbox mail injection maquetación marcos mensajes menu menú menú lateral miniaturas mootools mouseover mp3 multinivel mysql máscaras móvil navegadores no conflict notas adhesivas notificaciones oauth ofuscador ordenar organigrama pdf php phpmailer picker player playlist plugin png portfolio preview reproductor reproductor de música safari scroll scrollto select selector de color sistema de votación slider snippets spam star rating subir ficheros switch mode tablas tamaño texto target blank textarea thumbnail tooltip twitter usuarios activos validacion validación validate videos vtip wap webkit www wysiwyg youtube zoom

© 2012 Martin Iglesias - Todos los derechos reservados