Laboratorio: añadir título a la cabecera usando PHP y filtros
El otro día nos preguntaban que funcionalidades se le podía añadir a la entrada Laboratorio: Recorta imágenes dinámicamente con PHP y HTML. Y aunque son muchas, depende de la imaginación que tengamos, a mí se me ha ocurrido escribir el título del blog en la cabecera usando un filtro blur para resaltar el texto, algo que he visto en varios lugares.
El proceso es igual que en la entrada anterior, salvo que en vez de devolver una imagen nueva que es un trozo de la original, lo que vamos a coger es ese trozo, aplicarle el filtro blur varias veces para que quede muy difuminado, escribirle el título y devolver la imagen original con el trozo modificado copiado en el mismo sitio de donde se cogió.
<?php
// Abre la imagen
$fichero = getcwd()."/".$_GET["img"];
$texto = $_GET["texto"];
if (preg_match('/.png$/', $fichero)) {
$img = imagecreatefrompng($fichero);
} else if (preg_match('/.gif$/', $fichero)) {
$img = imagecreatefromgif($fichero);
} else if (preg_match('/.jpg$/', $fichero)) {
$img = imagecreatefromjpeg($fichero);
}
$xini = $_GET["xini"];
$yini = $_GET["yini"];
$xfin = $_GET["xfin"];
$yfin = $_GET["yfin"];
$res = imagecreatetruecolor ($xfin-$xini, $yfin-$yini);
imagecopy($res, $img, 0, 0, $xini, $yini, $xfin-$xini, $yfin-$yini);
// Aplicamos filtro blur
for ($i=0; $i<40; $i++) {
imagefilter($res, IMG_FILTER_GAUSSIAN_BLUR);
}
// Escribimos texto
// Calculamos el tamaño de letra
$letra = 81;
$tam = null;
do {
$tam = imagettfbbox ( $letra--, 0, "arial.ttf", $texto );
} while (abs($tam[6]-$tam[4]) > abs($xfin-$xini) || abs($tam[3]-$tam[5]) > abs($yfin-$yini));
$negro = imagecolorallocatealpha($res, 0, 0, 0, 80);
imagettftext ( $res, $letra, 0, 0, abs($tam[3]-$tam[5])+(abs($yfin-$yini)-abs($tam[3]-$tam[5]))/2, $negro, "Arial", $texto);
imagecopy($img, $res, $xini, $yini, 0, 0, $xfin-$xini, $yfin-$yini);
header("Content-type: image/png");
imagepng($img);
?>
Código fuente aquí
Ha salido la nueva versión de PHP, la 5.2.5, estando centrada esta versión en mejorar la estabilidad con cerca de 60 errores solucionados, algunos de ellos relativos a la seguridad, por lo que es necesario actualizar nuestras versiones de PHP.
Ha salido la versión 2 de PHP-GTK, la extensión de PHP que incluye librerías para usar GTK+ y así poder realizar aplicaciones GUI multiplataforma.
POG (PHP Object Generator) es una aplicación open source que genera código limpio y válido para PHP4 y PHP5 para generar objetos. Otra caracterÃstica del código que genera es que es sencillo de seguir.