Descripción: Creación de recortes circulares desde una imágen.
A continuación mostramos los apuntes asociados a este extra:
// Descripción para sindicación:
/*
[rss]Creación de recortes circulares desde una imágen.[/rss]
*/
$ancho = $_GET["ancho"];
$alto = $_GET["alto"];
$x = $_GET["x"];
$y = $_GET["y"];
$diametromenor = (int) $_GET["radio"] * 2;
$diametromayor = ((int) $_GET["grosor"] * 2) + $diametromenor;
$id = $_GET["id"];
$sql = "select url, tipo from $tabla_imagenes where id='$id'";
$res = mysql_query($sql);
if ($res) {
if (mysql_num_rows($res) > 0) {
$codigo_imagen = file_get_contents($diario_includes.mysql_result($res, 0, "url"));
$original = imagecreatefromstring($codigo_imagen);
$original_ancho = imagesX($original);
$original_alto = imagesY($original);
$imagen = imagecreatetruecolor($ancho, $alto);
imagecopyresampled($imagen, $original, 0, 0, 0, 0, $ancho, $alto, $original_ancho, $original_alto);
}
}
$figura = imagecreatetruecolor($ancho, $alto);
$fondo = imagecolorallocate($figura, 255, 255, 255);
imagefill($figura, 0, 0, $fondo);
$rojo = imagecolorallocate($figura, 255, 0, 0);
imagefilledellipse($figura, $x, $y, $diametromayor, $diametromayor, $rojo);
$negro = imagecolorallocate($figura, 0, 0, 0);
imagefilledellipse($figura, $x, $y, $diametromenor, $diametromenor, $negro);
imagecolortransparent($figura, $negro);
imagecopymerge($imagen, $figura, 0, 0, 0, 0, $ancho, $alto, 100);
$transparente = imagecolorallocate($imagen, 255, 255, 255);
imagecolortransparent($imagen, $transparente);
header("Content-Type: image/png");
//imagepng($figura);
imagepng($imagen);
imagedestroy($imagen);
imagedestroy($figura);
unset($css);
unset($body);
Este código ha sido leído en 97 ocasiones.
Esta extra aún no tiene comentarios.
Valoración de esta página: (extra.recorte_circular)
Listados: imágenes, categorías, etiquetas, extras | Anuarios: 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 | Otros enlaces: buscador