Buscador

Busca aquí los artículos:

 

RSS Suscríbete al Boletín

Escribe tu correo para recibir nuestro boletín de artículos:

Plan Iniciación

1 Dominio

3 Gb de Tráfico Mensual

2 Bases de datos MySql

250 Mb de espacio Web y Correo

Ilimitadas BD Access

Programación ASP, ASP.Net y PHP

Precio: 5 € / Mes

Ir Plan Inicial

Plan Básico

1 Dominio

8 Gb de Tráfico Mensual

10 Bases de datos MySql

600 Mb de espacio Web y Correo

Ilimitadas BD Access

Programación ASP, ASP.Net y PHP

Precio: 10 € / Mes

Ir Plan Básico

Plan Profesional

1 Dominio

20 Gb de Tráfico Mensual

30 Bases de datos MySql

1,5 Gb de espacio Web y Correo

Ilimitadas BD Access

Programación ASP, ASP.Net y PHP

Precio: 18 € / Mes

Ir a Plan Profesional

Plan Profesional ISP

50 Gb de Tráfico Mensual

50 Bases de datos MySql

4,5 Gb de espacio Web y Correo

Ilimitadas BD Access

Programación ASP, ASP.Net y PHP

Precio: 30 € / Mes

Ir a Plan Profesional ISP

Servidor Linux

Tu servidor dedicado con sistema Linux por 199 € al mes .

 

 

Ver más

Servidor Windows

Tu servidor dedicado con sistema Windows por 210 € al mes .

 

 

Ver más

Registre su dominio ahora

www.

Su dominio en 24 horas
Su propio nombre de dominio en un tiempo record, sin complicaciones ni compromisos.

Redimensionar e incrustar imagen al vuelo en PHP

Feed RSS Estás en PHP Fecha: 18/09/2007

En este pequeño tutorial vamos a explicar como redimensionar una imagen al tamaño deseado además de incrustarle otra imagen en forma de marca de agua al vuelo.
Publicidad

Bien, este código salió de la necesidad, pues teníamos la urgencia de incrustar una marca de agua en imágenes al vuelo, y además redimensionarlas a un tamaño deseado.

El código es muy simple pero la verdad es que funciona a la perfección. Lo único que necesita es una máquina medianamente potente para procesar las imágenes con agilidad.

<?php

// Ruta de la imagen original
$path = 'carpeta_imagenes/'.$_GET["img"];

// Cargamos la imagen seleccionada
$image = imagecreatefromstring(file_get_contents($path));

$w = imagesx($image) +5;
$h = imagesy($image) +5;

// Cargamos la imagen de marca de agua, recomendable formato PNG
$watermark = imagecreatefrompng('carpeta_imagen_marca_de_agua/logo.png');
$ww = imagesx($watermark) +5;
$wh = imagesy($watermark) +5;

// Mezclamos la imagen original y la marca de agua

imagecopy($image, $watermark, $w-$ww, $h-$wh, 0, 0, $ww, $wh);

// Volvemos a procesar la imagen para redimensionarla
list($width,$height)=getimagesize($path);
$newwidth=$_GET["w"]; // Recibimos el parámetro del ancho deseado

// Calculamos el alto y ancho deseado
$newheight=($height/$width)*$newwidth;
$tmp=imagecreatetruecolor($newwidth,$newheight);
imagecopyresampled($tmp,$image,0,0,0,0,$newwidth+4,$newheight+4,$w,$h);

// Enviamos la imagen
header('Content-type: image/jpeg');
imagejpeg($tmp);
exit();
?>

Para hacer la llamada al procedimiento, debemos insertar el código de esta manera:

<img src="/imagen.php?img=nombre_de_imagen&w=200 />

El valor de W es el ancho que deseamos para la imagen.

Espero que os sea de utilidad ya que a nosotros nos salvó y mucho.

 

Lecturas: 751

Comentarios de los Usuarios (6)

liths escribió:

Fecha: 16/10/2007 17:59:29

perfecto!
perfeeecto!

roberto escribió:

Fecha: 14/12/2007 18:50:28

muy buena
gracias

Jdavid escribió:

Fecha: 25/01/2008 13:04:58

Gracias
Hola, ya tenia este script, pero me ha servido para sacar la marca de agua. Gracias.

viridiana escribió:

Fecha: 27/02/2008 17:49:41

funciona con fpdf?
Alguien sabe si estas funciones sirven tambien con fpdf?

Javier escribió:

Fecha: 04/06/2008 14:32:32

redimensiona el height ???
Probe el script con varias imagenes y no redimensiona el height solo redimensiona el width

JMARCOSGB escribió:

Fecha: 17/06/2008 5:58:50

que buen aporte
Gracias por el Aporte... era lo que necesitaba

Escribe tu comentario

Nombre:
Título:
Comentario:
Marca esta opción si eres humano

Hosting y Alojamiento Web