Marca de Agua en PHP

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

Marca de Agua en PHP

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>";

Categorías:

Artículos relacionados:


100 Búsquedas de este artículo:

marca de agua fpdffpdf marca de aguamarca de aguamarca de agua phpmarca de agua en fotos phpphp marca de agua en fotosmarcas de aguamarca de agua en imagenes con phpimagenes con marca de aguaponer marca de agua en fpdfmarca de agua en imagen phpfotos con marca de aguaphp marca de agua transparentemarca de agua en phpejemplos de marca de aguaimagenes extension pngmarca de agua imagenes phpmarca de agua en imagenes phpmarca de agua en inputimagenes para marca de aguamarcas de agua diseñarmarca de agua transparente phpLIBRERIA MARCA DE AGUA PHPimagen con marca de aguamarca de agua en fotosmarca de agua php ejemplofondo de agua fpdfEJEMPLOS DE MARCAS DE AGUA EN FOTOSjquery marca de agua phpphp marca de agua en fotomarca de agua en imagenes con jqueryphp fpdf marca de aguaponer marca de agua phpagregar marca de agua a un pdf con php fpdfmarca de agua en fotos ejemplosmarca agua imagenes phpcolocar marca de agua con fpdfmarca de agua php para png jpg giffpdf php marca de aguaphp marca de aguaphp marca de agua uploadsello de agua con phpmarca de agua fpdf phpinsertar marca de agua con fpdfupload marca aguamarcas aguaimagenes de marca de aguaponer marca de agua en fpdf phpmarca de agua en fotografiasfpdf marca aguaphp marca de agua imagenmarca de agua php transparentemarca de agua transparente en phpcomo poner marca de agua en javamarcas de agua imagen png jqueryphp generar imagenesphp Watermark con transparenciaphp miniaturas marca de aguatransparencia marca de agua phpmarca de agua imagenesponer marca de agua en pdf phpsubir imagenes y ponerle marca de agua phpponer input transparente con phpcomo poner sello de agua a un pdf por phpmarca de agua input text phpphp jpg marca de agua transparenteejemplo fpdfcomo colocar un sello o marca de agua transparente en una fotophp poner marca de aguamarca de agua en los archivos pdf en php y ajaxcomo colocar marca de agua en formulario htmlinsertar marca agua imagenes subidasfpdf insertar imagenes marca de aguamarca de Agua con PHP FPDF phpphp thumb transparenciaphpthumb php sello de aguamarca agua imagen phpblogger marcas de agua phpfoto con marca de aguajquery marca de agua input textMarca de agua con php en pngcrear fpdf con fondo marca de aguaphp subir archivo CON MARCA DE AGUAejemplos de marcas de aguamarcas agua transparencia phpFPDF marca dagua imageminsertar marca de agua con texto en phpfunction 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 phpcrear marca de agua pngcrear marcas de agua en las imagenes con phpponer sello agua php jpgphp marca de aguas en las fotossubir imagenes marca de agua phpmarca de agua con php en un pdfmarca de agua a imagenes css phpejemplo php marca agua transparenciaponer una marca de agua con phpfpdf imagen fondo aguacrear una marca de agua a una imagen en php

Traduce esta página

Nube de Tags

Libros de Romantica

Los 20 posts más populares

Usuarios Conectados...

  • Hay 3 usuario/s en esta página
¿Sabías qué?
Yo digo
Miembro de

BlocketPCSubflashADWE

© 2012 Martin Iglesias - Todos los derechos reservados

Creative Commons LicenseValid XHTML 1.0 Transitional¡CSS Válido!Suscribete a mi RSSHumans TXT