$puntos[8] = $ancho - 31; $puntos[9] = 221; // superior derecho $puntos[10] = $ancho - 31; $puntos[11] = 30; imagepolygon($image, $puntos, 6, $colores[0]); ImageString($image, 2, 31, 8, $ttl, $colores[5]); // Imprime el titulo for ($semestre = 0; $semestre < $nvars; $semestre++) { $porcentaje = $valores[$semestre] * 180 / max($valores); $puntos = array(); // lado DERECHO DE LOS CUBOS (oscura) $puntos = CargaEsquinas($equis2 + 1, 49 + (180 - $porcentaje), $equis2 + 1, 229, $equis2 + 9, 220, $equis2 + 9, 41 + (180 - $porcentaje)); imagefilledpolygon($image, $puntos, 4, $colores[$idcolor + 1]); // TOPE DE LOS CUBOS 3D (clara) $puntos = CargaEsquinas($equis1 + 9, 41 + (180 - $porcentaje), $equis1 + 1, 49 + (180 - $porcentaje), $equis2 + 1, 49 + (180 - $porcentaje), $equis2 + 9, 41 + (180 - $porcentaje)); imagefilledpolygon($image, $puntos, 4, $colores[$idcolor + 2]); ImageFilledRectangle($image, $equis1 + 1, 50 + (180 - $porcentaje), $equis2, 229, $colores[$idcolor]); // crea rectangulo ImageString($image, 1, $equis1 + 2, 232, $semestre + 1, $colores[0]); ImageString($image, 1, $equis1 + 2, 51 + (180 - ($porcentaje > 10 ? $porcentaje : 10)), $valores[$semestre], $colores[0]); //ImageString($image,1,$equis1 + 5, 222,$valores[$semestre],$colores[0]); if ($idcolor < 32) { $idcolor += 3; } else { $idcolor = 5; } $equis1 += $ladoy; $equis2 += $ladoy; } } else {
$porcentajetotal = $total * 200 / 100; // contorno gris parte de atras ImageRectangle($image, $equis1 + 15, 11 + (200 - $porcentajetotal), $equis2 + 15, 210, $colores[2]); // verde superior, claro $puntos = CargaEsquinas($equis1 + 15, 11 + (200 - $porcentajefil), $equis1 + 1, 25 + (200 - $porcentajefil), $equis2 + 1, 25 + (200 - $porcentajefil), $equis2 + 15, 11 + (200 - $porcentajefil)); imagefilledpolygon($image, $puntos, 4, $colores[13]); // rellena lados del cubo siempre cuando el porcentaje no sea cero if ($fil != 0) { // verde costado derecho, oscuro $puntos = CargaEsquinas($equis2, 26 + (200 - $porcentajefil), $equis2, 224, $equis2 + 15, 210, $equis2 + 15, 11 + (200 - $porcentajefil)); imagefilledpolygon($image, $puntos, 4, $colores[12]); // verde frontal ImageFilledRectangle($image, $equis1, 26 + (200 - $porcentajefil), $equis2, 224, $colores[11]); } else { // contorno gris de base $puntos = CargaEsquinas($equis1 + 15, 210, $equis1, 225, $equis2, 225, $equis2 + 15, 210); imagepolygon($image, $puntos, 4, $colores[2]); } // contorno gris frontal ImageRectangle($image, $equis1, 26 + (200 - $porcentajetotal), $equis2, 225, $colores[2]); // contorno gris del lado oscuro $puntos = CargaEsquinas($equis2, 26 + (200 - $porcentajetotal), $equis2, 225, $equis2 + 15, 210, $equis2 + 15, 11 + (200 - $porcentajetotal)); imagepolygon($image, $puntos, 4, $colores[2]); // contorno gris superior, el tope $puntos = CargaEsquinas($equis1 + 15, 11 + (200 - $porcentajetotal), $equis1, 26 + (200 - $porcentajetotal), $equis2, 26 + (200 - $porcentajetotal), $equis2 + 15, 11 + (200 - $porcentajetotal)); imagepolygon($image, $puntos, 4, $colores[2]); /* render image */ ImagePNG($image); //ImageJPEG($image); /* cleanup memory */ ImageDestroy($image);