Descripción: Con este extra se pueden generar estrellas en formato svg de distintas características.
A continuación mostramos los apuntes asociados a este extra:
// descripción para la sindicación:
/*
[rss]Con este extra se pueden generar estrellas en formato svg de distintas características.[/rss]
*/
if (isset($_GET["texto"]))
$texto = $_GET["texto"];
else
$texto = "Atención";
if (isset($_GET["img"])) {
$img = $_GET["img"];
}
else {
$img = "svg";
}
$fondo = "yellow";
$borde = "red";
$tipo = "a";
$radio = "60";
$xy = "40";
$puntas = rand(10, 20);
function coordes($ps, $t, $r) {
$bucle = $ps * 2;
$coord = array();
$_pi = pi();
$radian = $_pi * 180;
$arco = 360 / $bucle;
for ($i = 0; $i < $bucle; $i++) {
$alfa = $i * $arco;
if ($t == "r")
$punta = ($i % 2 == 0) ? $r : 100;
else
$punta = ($i % 2 == 0) ? $r : $r * 1.5 + rand(0, 100 - ($r * 1.5));
$x = sin(deg2rad($alfa)) * $punta + 100;
$y = cos(deg2rad($alfa)) * $punta + 100;
array_push($coord, $x, $y);
};
return implode(",", $coord);
};
$_coor = coordes($puntas, $tipo, $radio);
list ($t1, $t2) = explode("|", $texto);
if ($img == "svg") {
header("Content-type: image/svg+xml");
if ($t2 == "")
$t = "<text y='100' x='100' font-size='30' fill='red' stroke-width='4'>$t1</text>";
else {
$t = "<text x='100' y='90' font-size='30' fill='red' stroke-width='4'>$t1</text>\n<text x='100' y='125' font-size='30' fill='red' stroke-width='4'>$t2</text>";
};
$svg =<<< svg
<?xml version="1.0" encoding="iso-8859-1" ?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0" y="0px" width="201px" height="201px" preserveAspectRatio="none" viewBox="0 0 201 201">
<g transform="rotate(-30, 100, 100)" x="0" y="0px" width="201" height="201px" text-anchor='middle'>
<polygon fill="$fondo" stroke="$borde" points="$_coor" >
<animateTransform attributeName="transform" attributeType="XML"
type="rotate" from="0 100 100" to="360 100 100" dur="5s"
additive="replace" fill="freeze" repeatCount="indefinite"/>
</polygon>
$t
</g>
</svg>
svg;
echo $svg;
}
else {
header("Content-type: image/gif");
$i = imagecreate(201, 201);
$negro = imagecolorallocate($i, 0, 0, 0);
imagefill($i, 0, 0, $negro);
imagecolortransparent($i, $negro);
$oro = imagecolorallocate($i, 255, 255, 0);
$rojo = imagecolorallocate($i, 255, 0, 0);
imagefilledpolygon($i, explode(",", $_coor), $puntas * 2, $oro);
if ($t2 == "")
imagestring($i, 8, 60, 100, $t1, $rojo);
else {
imagestring($i, 8, 60, 80, $t1, $rojo);
imagestring($i, 8, 60, 110, $t2, $rojo);
};
$r = imagerotate($i, 35, $negro);
$n = imagecolorallocate($r, 0, 0, 0);
imagefill($r, 0, 0, $n);
imagecolortransparent($r, $n);
$ancho = imagesx($r);
$alto = imagesy($r);
imagedestroy($i);
$i = imagecreate(201, 201);
$negro = imagecolorallocate($i, 0, 0, 0);
imagefill($i, 0, 0, $negro);
imagecolortransparent($i, $negro);
imagecopyresampled($i, $r, 0, 0, ($ancho - 201) / 2, ($alto - 201) / 2, 201, 201, 201, 201);
imagedestroy($r);
imagegif($i);
imagedestroy($i);
};
unset($css);
unset($body);
Este código ha sido leído en 121 ocasiones.
Esta extra aún no tiene comentarios.
Valoración de esta página: (extra.alertaEstrella)
Listados: imágenes, categorías, etiquetas, extras | Anuarios: 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 | Otros enlaces: buscador