Descripción: Obtenemos la paleta de colores de una imágen pasada como parámetro.
A continuación mostramos los apuntes asociados a este extra:
// Descripción para sindicación:
/*
[rss]Obtenemos la paleta de colores de una imágen pasada como parámetro.[/rss]
*/
function dec_hex($color) {
$c = dechex($color);
if (strlen($c) == 1) $c = "0$c";
return strtoupper($c);
}
$tipo = $_FILES["paletera"]["type"];
$vale = substr($tipo, 0, 6) == "image/";
if ($vale) {
$paletera = $_FILES["paletera"]["tmp_name"];
list($ancho, $alto) = @getimagesize($paletera);
if ($ancho > 800 || $alto > 800) {
$error = 1;
$colores = array("000000");
}
else {
$apaisada = $ancho > $alto;
$anchito = ($apaisada) ? 200: (int) (200 / $alto * $ancho);
$altito = ($apaisada) ? (int) (200 / $ancho * $alto): 200;
$peque = imagecreatetruecolor($anchito, $altito);
$paletera = imagecreatefromstring(file_get_contents($paletera));
ob_start();
imagegif($paletera);
$paletita = ob_get_clean();
$paletita = imagecreatefromstring($paletita);
imagecopyresampled($peque, $paletita, 0, 0, 0, 0, $anchito, $altito, $ancho, $alto);
$colores = array();
for ($i = 0; $i < $anchito; $i++)
for ($j = 0; $j < $altito; $j++) {
$c = imagecolorsforindex($paletita, imagecolorat($paletita, $i, $j));
$cc = dec_hex($c["red"]).dec_hex($c["green"]).dec_hex($c["blue"]);
if (!in_array($cc, $colores)) array_push($colores, $cc);
}
$error = 2;
}
}
else {
$error = 0;
$colores = array("000000");
}
//sort($colores);
$n = count($colores);
$mensaje_error = array("no es imagen", "tamaño inadecuado", "Ok");
$body = "Estado transacción: ".$mensaje_error[$error]."<br/>Colores encontrados: $n";
$js = "window.onload = function()\t{\n\tif (parent.mostrarPaleta)\tparent.mostrarPaleta(colores);\n\telse\talert(\"Colores: $n\\n\" + colores);\n}\ncolores = [\"".implode("\",\n\"", $colores)."\"];\n";
Este código ha sido leído en 98 ocasiones.
Esta extra aún no tiene comentarios.
Valoración de esta página: (extra.paletaImagen)
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