logoExtra: gradientes

Descripción:

Este extra genera imágenes en gradientes.

La forma de uso es:

diario.jocker.php?extra=gradientes&l=[longitud_de_la_imagen]&g=[grosor_de_la_imagen]&t=tipo&c1=[color_inicial]&c2=[color_final]

Los tipos pueden ser: h=horizontal (por defecto), y v=vertical.


A continuación mostramos los apuntes asociados a este extra:

Gradientes... y svg
Conseguir fondos en colores degradados (o gradientes) cada vez es más fácil.
// Descripción para sindicación:
/*
    [rss]<p>Este extra genera imágenes en gradientes.</p>
    <p>La forma de uso es:</p>
    <p>diario.jocker.php?extra=gradientes&amp;l=<b>[longitud_de_la_imagen]</b>&amp;g=<b>[grosor_de_la_imagen]</b>&amp;t=<b>tipo</b>&amp;c1=<b>[color_inicial]</b>&amp;c2=<b>[color_final]</b></p>
    <p>Los tipos pueden ser: h=horizontal (por defecto), y v=vertical.[/rss]
*/

$g = (isset($_GET["g"])) ? (int) $_GET["g"]: 1;
$l = (isset($_GET["l"])) ? (int) $_GET["l"]: 100;
$c1 = (isset($_GET["c1"])) ? $_GET["c1"]: "000000";
$c2 = (isset($_GET["c2"])) ? $_GET["c2"]: "ffffff";
$r = (isset($_GET["t"])) ? strtolower($_GET["t"]) == "v" : false;

function desglose($fondo)    {
    return array(hexdec($fondo[1]),hexdec($fondo[2]),hexdec($fondo[3]));
}

function rgbColor($fondo)    {
    $red = 100;
    $green = 100;
    $blue = 100;
    if( eregi( "([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})", $fondo, $retornar ) )
        return $retornar;
    else
        return array($fondo, $red, $green, $blue);
}

function losColores($arrayColores)    {
    $devolver = array();
    for ($i = 0; $i < count($arrayColores); $i ++)
        $devolver[$i] = elColor($arrayColores[$i]);
    return $devolver;
}

function transitar($color1, $color2, $pasos) {
    $devolver = array();
    $pasos--;
    $devolver[0] = desglose(rgbColor($color1));
    $devolver[$pasos] = desglose(rgbColor($color2));
    $rIni = $devolver[0][0];
    $gIni = $devolver[0][1];
    $bIni = $devolver[0][2];

    $rFin = $devolver[$pasos][0];
    $gFin = $devolver[$pasos][1];
    $bFin = $devolver[$pasos][2];

    $rMed = ($rFin - $rIni) / $pasos;
    $gMed = ($gFin - $gIni) / $pasos;
    $bMed = ($bFin - $bIni) / $pasos;

    for ($i = 1; $i < $pasos; $i++)    {
        $devolver[$i] = array($rIni + round($rMed * $i), $gIni + round($gMed * $i), $bIni + round($bMed * $i));
    }
    return losColores($devolver);
}

function elColor($color)    {
    $red = 256 * 256;
    $green = 256;
    $blue = 1;
    return ($red * $color[0]) + ($green * $color[1]) + ($blue * $color[2]);
}

$fondo1 = desglose(rgbColor($c1));
$fondo2 = desglose(rgbColor($c2));
$transito = transitar($c1, $c2, $l);
//print_r($transito);
$imagen = imagecreatetruecolor($l, $g);
for ($i = 0; $i < count($transito); $i++)
for ($j = 0; $j < $g; $j++)
    ImageSetPixel($imagen, $i, $j, $transito[$i]);
if ($r)    $imagen = imagerotate($imagen, 270, 0);
header("Content-Type: image/png");
imagepng($imagen);
imagedestroy($imagen);
unset($css);
unset($body);

Este código ha sido leído en 89 ocasiones.

Zona de comentarios

Esta extra aún no tiene comentarios.

Evaluación

Valoración de esta página: (extra.gradientes) valor

Valoración evaluar evaluar evaluar evaluar evaluar evaluar evaluar evaluar evaluar evaluar

Respuesta: Zona de mensajes (proceso de evaluación)

Listados: imágenes, categorías, etiquetas, extras | Anuarios: 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 | Otros enlaces: buscador