Hace unos dias terminé mi primera clase, que "intenta"
![borracho](http://static.forosdelweb.com/fdwtheme/images/smilies/borracho.png)
Espero que les sea útil y no encuentren demasiodos errores (aparte de los de ortografia
![sonrisota](http://static.forosdelweb.com/fdwtheme/images/smilies/xD.png)
Caracteristicas:
- Calcula los porcentajes
- Crea automaticamente las referencias
- Soporta fuentes monoespacio (predefinidas de la libreria GD) y fuentes ¡TrueType! (arial, verdana, Times New Roman, etc)
- Se puede definir los colores para cada "porcion", de lo contrario se usan los predeterminados,
- Los errores pueden ser mostrados en formato HTML, texto, o como una imágen.
- Las referencias pueden ser situadas en 8 diferentes lugares y con diferentes razgos.
- Otras caracteristicas como entrelazado, resaltar aristas, recuadro sombreado, rotacion aleatoria, y mas!
- Tambien esta comentada segun PHPDoc/PHPDocumentor
Acas estan las URLs:
Sintaxis coloreada: http://purohumor.webcindario.com/fra...a.inc.php.html
Texto Plano: http://purohumor.webcindario.com/fra...ta.inc.php.txt
Aca pongo una especie de documentacion gauchesca de los metodos suponiendo que se empieza por:
Código PHP:
include_once("class.graficodetorta.inc.php");
$grafico = new Grafico_De_Torta($data);
Código PHP:
$data[] = array("valor"=>1000, "etiqueta"=>"Este es el valor [%] %"); //esto será una porcion
$data[] = array("valor"=>750, "etiqueta"=>"Este es el valor que tiene [%] %"); //esto será otra porcion
Luego si se agrega,
Código PHP:
$grafico->estableceInicioAleatorio(1);
Agregando,
Código PHP:
$grafico->estableceEntrelazado(1);
Agregando,
Código PHP:
$grafico->paletadecolores($array);
Agregando,
Código PHP:
$grafico->aristasDeTorta(3, "0,0,0");
Agregando,
Código PHP:
$grafico->formatoNumerico(2, ".");
Agregando,
Código PHP:
$grafico->diametroDeTorta(200);
Luego para definir las fuentes que se usaran en las referencias hay 2 opciones
Código PHP:
$grafico->fuentepredefinida(2);
O de lo contrario:
Código PHP:
$grafico->fuenteTT(9, "c:\\windows\\fonts\\arial.ttf");
Algo de lo mas importante es esto:
Código PHP:
$grafico->estiloDeReferencias(0, 0, 0, 0, 0, 0);
El primero: es la ubiacion de las referencias con respecto a la torta. Para saber los posibles valores revisar los comentarios, ponerle cualquier cosa (algo asi como $grafico->estiloDeReferencias("a");) para que te mande un mensaje de error y te explique, o sino mandar un MP.
El segundo: si lo pones a non-cero las referencias seran encuadradas.
Parametros 3 , 4 y 5: indican el ancho x alto de cada cuadrito de las referencias y el espacio de separacion entre ellos
El sexto parametro: puede ser GT_REFERENCIA_RECTANGULAR o GT_REFERENCIA_CIRCULAR (experimentar!)
Al final y lo que siempre hay que hacer es:
Código PHP:
if ( !$img = $grafico->obtenerGrafico() ) {
// usar los metodos que se expliacn abajo
} else {
Header("Content-type: image/png");
imagepng($img);*/
}
echo $grafico->errorahtml(); // -----> imprime los errores con formato de HTML
Header("Content-type: image/png"); imagepng($grafico->erroraimagen()); // -----> imprime los errores en una imagen
Finalmete si no tienen ganas de leer todo lo de arriba aca hay ejemplos de codigo listos para usar:
Código PHP:
<?php
include("class.graficodetorta.inc.php");
$data[] = array("valor"=>41, "etiqueta"=>"Este es el valor [%]%");
$data[] = array("valor"=>89, "etiqueta"=>"Este valor [%]%");
$data[] = array("valor"=>145, "etiqueta"=>"Este es el valor [%]%");
$data[] = array("valor"=>50, "etiqueta"=>"Este es el valor [%]%");
$data[] = array("valor"=>78, "etiqueta"=>"Este valor [%]%");
$data[] = array("valor"=>41, "etiqueta"=>"Este es el valor [%]%");
$grafico = new Grafico_De_Torta($data);
$grafico->estableceInicioAleatorio(1);
$grafico->estableceEntrelazado(1);
$grafico->aristasDeTorta(1, "0,0,0");
$grafico->formatoNumerico(2, ",");
$grafico->fuenteTT(9, "c:\\windows\\fonts\\futurab.ttf");
$grafico->diametroDeTorta(200);
$grafico->estiloDeReferencias(GT_POSICION_ABAJO_IZQUIERDA);
if ($img = $grafico->obtenerGrafico()){
$img = $grafico->_agregaSombraRectangular($img,5);
} else {
$img = $grafico->erroraimagen();
}
Header("Content-type: image/png");
imagepng($img);
?>
Código PHP:
<?php
include("class.graficodetorta.inc.php");
$data[] = array("valor"=>250, "etiqueta"=>"Este es el valor [%]%");
$data[] = array("valor"=>308, "etiqueta"=>"Este es el valor [%]%");
$data[] = array("valor"=>158, "etiqueta"=>"Este valor [%]%");
$data[] = array("valor"=>510, "etiqueta"=>"Este es el valor [%]%");
$grafico = new Grafico_De_Torta($data);
$grafico->estableceInicioAleatorio(1);
$grafico->formatoNumerico(5, ",");
$grafico->fuentepredefinida(2);
$grafico->diametroDeTorta(150);
$grafico->estiloDeReferencias(GT_POSICION_ARRIBA_DERECHA, 1, 0, 0, 0, GT_REFERENCIA_CIRCULAR);
if ($img = $grafico->obtenerGrafico()){
$img = $grafico->_agregaSombraRectangular($img, 3);
} else {
$img = $grafico->erroraimagen();
}
Header("Content-type: image/png");
imagepng($img);
?>
Código PHP:
<?php
include("class.graficodetorta.inc.php");
$data[] = array("valor"=>66, "etiqueta"=>"Este es el valor [%]%");
$data[] = array("valor"=>33, "etiqueta"=>"Este es el valor [%]%");
$data[] = array("valor"=>33, "etiqueta"=>"Este es el valor [%]%");
$colores = Array ("0,0,0","200,200,200");
$grafico = new Grafico_De_Torta($data);
$grafico->diametrodetorta(100);
$grafico->paletadecolores($colores);
$grafico->aristasdetorta(4, "0,0,0");
if ($img = $grafico->obtenerGrafico()){
Header("Content-type: image/png");
imagepng($img);
} else {
echo $grafico->errorahtml();
}
?>
Código PHP:
<?php
include("class.graficodetorta.inc.php");
$data[] = array("valor"=>66, "etiqueta"=>"Este es el valor [%]%");
$data[] = array("valor"=>33, "etiqueta"=>"Este es el valor [%]%");
$grafico = new Grafico_De_Torta($data);
$grafico->estilodereferencias("nada");
if ($img = $grafico->obtenerGrafico()){
Header("Content-type: image/png");
imagepng($img);
} else {
echo $grafico->errorahtml();
}
?>
Saludos!