$Settings = array("R" => 170, "G" => 183, "B" => 87, "Dash" => 1, "DashR" => 190, "DashG" => 203, "DashB" => 107); $myPicture->drawFilledRectangle(0, 0, 700, 230, $Settings); /* Overlay with a gradient */ $Settings = array("StartR" => 219, "StartG" => 231, "StartB" => 139, "EndR" => 1, "EndG" => 138, "EndB" => 68, "Alpha" => 50); $myPicture->drawGradientArea(0, 0, 700, 230, DIRECTION_VERTICAL, $Settings); $myPicture->drawGradientArea(0, 0, 700, 20, DIRECTION_VERTICAL, array("StartR" => 0, "StartG" => 0, "StartB" => 0, "EndR" => 50, "EndG" => 50, "EndB" => 50, "Alpha" => 80)); /* Add a border to the picture */ $myPicture->drawRectangle(0, 0, 699, 229, array("R" => 0, "G" => 0, "B" => 0)); /* Write the picture title */ $myPicture->setFontProperties(array("FontName" => "../fonts/Silkscreen.ttf", "FontSize" => 6)); $myPicture->drawText(10, 13, "drawRoundedFilledRectangle() - Transparency & colors", array("R" => 255, "G" => 255, "B" => 255)); /* Enable shadow computing */ $myPicture->setShadow(TRUE, array("X" => 1, "Y" => 1, "R" => 0, "G" => 0, "B" => 0, "Alpha" => 20)); /* Draw a rounded filled rectangle */ $RectangleSettings = array("R" => 181, "G" => 209, "B" => 27, "Alpha" => 100); $myPicture->drawRoundedFilledRectangle(20, 60, 400, 170, 10, $RectangleSettings); /* Enable shadow computing */ $myPicture->setShadow(FALSE); /* Draw a rounded filled rectangle */ $RectangleSettings = array("R" => 209, "G" => 134, "B" => 27, "Alpha" => 30); $myPicture->drawRoundedFilledRectangle(30, 30, 200, 200, 10, $RectangleSettings); /* Enable shadow computing */ $myPicture->setShadow(TRUE, array("X" => 1, "Y" => 1, "R" => 0, "G" => 0, "B" => 0, "Alpha" => 20)); /* Draw a rounded filled rectangle */ $RectangleSettings = array("R" => 209, "G" => 31, "B" => 27, "Alpha" => 100, "Surrounding" => 30); $myPicture->drawRoundedFilledRectangle(480, 50, 650, 80, 5, $RectangleSettings); /* Draw a rounded filled rectangle */ $RectangleSettings = array("R" => 209, "G" => 125, "B" => 27, "Alpha" => 100, "Surrounding" => 30); $myPicture->drawRoundedFilledRectangle(480, 90, 650, 120, 5, $RectangleSettings); /* Draw a rounded filled rectangle */ $RectangleSettings = array("R" => 209, "G" => 198, "B" => 27, "Alpha" => 100, "Surrounding" => 30);
/* CAT:Drawing */ /* pChart library inclusions */ include "../class/pDraw.class.php"; include "../class/pImage.class.php"; /* Create the pChart object */ $myPicture = new pImage(700, 230); /* Draw the background */ $Settings = array("R" => 170, "G" => 183, "B" => 87, "Dash" => 1, "DashR" => 190, "DashG" => 203, "DashB" => 107); $myPicture->drawFilledRectangle(0, 0, 700, 230, $Settings); /* Overlay with a gradient */ $Settings = array("StartR" => 219, "StartG" => 231, "StartB" => 139, "EndR" => 1, "EndG" => 138, "EndB" => 68, "Alpha" => 50); $myPicture->drawGradientArea(0, 0, 700, 230, DIRECTION_VERTICAL, $Settings); $myPicture->drawGradientArea(0, 0, 700, 20, DIRECTION_VERTICAL, array("StartR" => 0, "StartG" => 0, "StartB" => 0, "EndR" => 50, "EndG" => 50, "EndB" => 50, "Alpha" => 80)); /* Add a border to the picture */ $myPicture->drawRectangle(0, 0, 699, 229, array("R" => 0, "G" => 0, "B" => 0)); /* Write the picture title */ $myPicture->setFontProperties(array("FontName" => "../fonts/Silkscreen.ttf", "FontSize" => 6)); $myPicture->drawText(10, 13, "setShadow() - Add shadows", array("R" => 255, "G" => 255, "B" => 255)); /* Enable shadow computing */ $myPicture->setShadow(TRUE, array("X" => 2, "Y" => 2, "R" => 0, "G" => 0, "B" => 0, "Alpha" => 20)); /* Draw a filled circle */ $formSettings = array("R" => 201, "G" => 230, "B" => 40, "Alpha" => 100, "Surrounding" => 30); $myPicture->drawFilledCircle(90, 120, 30, $formSettings); /* Draw a filled rectangle */ $formSettings = array("R" => 231, "G" => 197, "B" => 40, "Alpha" => 100, "Surrounding" => 30); $myPicture->drawFilledRectangle(160, 90, 280, 150, $formSettings); /* Draw a filled rounded rectangle */ $formSettings = array("R" => 231, "G" => 102, "B" => 40, "Alpha" => 100, "Surrounding" => 70); $myPicture->drawRoundedFilledRectangle(320, 90, 440, 150, 5, $formSettings); /* Render the picture (choose the best way) */ $myPicture->autoOutput("pictures/example.setShadow.png");
/* pChart library inclusions */ include "../class/pDraw.class.php"; include "../class/pImage.class.php"; /* Create the pChart object */ $myPicture = new pImage(700, 230); /* Define default font settings */ $myPicture->setFontProperties(array("FontName" => "../fonts/Forgotte.ttf", "FontSize" => 14)); /* Create the background */ $myPicture->drawGradientArea(0, 0, 500, 230, DIRECTION_HORIZONTAL, array("StartR" => 217, "StartG" => 250, "StartB" => 116, "EndR" => 181, "EndG" => 209, "EndB" => 27, "Alpha" => 100)); $RectangleSettings = array("R" => 181, "G" => 209, "B" => 27, "Alpha" => 100); $myPicture->drawFilledRectangle(500, 0, 700, 230, $RectangleSettings); /* Enable shadow computing on a (+1,+1) basis */ $myPicture->setShadow(TRUE, array("X" => 1, "Y" => 1, "R" => 0, "G" => 0, "B" => 0, "Alpha" => 20)); /* Draw the left area */ $RectangleSettings = array("R" => 181, "G" => 209, "B" => 27, "Alpha" => 100); $myPicture->drawRoundedFilledRectangle(-5, 0, 20, 240, 10, $RectangleSettings); $TextSettings = array("R" => 255, "G" => 255, "B" => 255, "Angle" => 90, "Align" => TEXT_ALIGN_MIDDLELEFT); $myPicture->drawText(10, 220, "My first chart", $TextSettings); /* Draw the right area */ $RectangleSettings = array("R" => 191, "G" => 219, "B" => 37, "Alpha" => 100, "Surrounding" => 20, "Ticks" => 2); $myPicture->drawFilledRectangle(510, 10, 689, 219, $RectangleSettings); /* Write the legend */ $TextSettings = array("R" => 255, "G" => 255, "B" => 255, "Align" => TEXT_ALIGN_MIDDLEMIDDLE); $myPicture->drawText(600, 30, "Weather data", $TextSettings); $TextSettings = array("R" => 106, "G" => 125, "B" => 3, "Align" => TEXT_ALIGN_TOPLEFT, "FontSize" => 11); $myPicture->drawText(520, 45, "The data shown here has been", $TextSettings); $myPicture->drawText(520, 60, "collected from European locations", $TextSettings); $myPicture->drawText(520, 75, "by the French NAVI system.", $TextSettings); $myPicture->drawFromPNG(540, 90, "resources/blocnote.png"); /* Disable shadow computing */ $myPicture->setShadow(FALSE);
function pch_slicebar_graph($graph_type, $data, $period, $width, $height, $colors, $font, $round_corner, $font_size, $antialiasing = true) { /* CAT:Slicebar charts */ set_time_limit(0); // Dataset definition $myPicture = new pImage($width, $height); /* Turn of Antialiasing */ $myPicture->Antialias = $antialiasing; $myPicture->setFontProperties(array("FontName" => $font, "FontSize" => $font_size, "R" => 80, "G" => 80, "B" => 80)); // Round corners defined in global setup if ($round_corner != 0) { $radius = $height > 18 ? 8 : 0; } else { $radius = 0; } $thinest_slice = $width / $period; /* Color stuff */ $colorsrgb = array(); foreach ($colors as $key => $col) { $rgb = html2rgb($col); $colorsrgb[$key]['R'] = $rgb[0]; $colorsrgb[$key]['G'] = $rgb[1]; $colorsrgb[$key]['B'] = $rgb[2]; } $i = 0; foreach ($data as $d) { $color = $d['data']; $color = $colorsrgb[$color]; $ratio = $thinest_slice * $d['utimestamp']; $myPicture->drawRoundedFilledRectangle($i, 0, $ratio + $i, $height, $radius, array('R' => $color['R'], 'G' => $color['G'], 'B' => $color['B'])); $i += $ratio; } if ($round_corner) { /* Under this value, the rounded rectangle is painted great */ if ($thinest_slice <= 16) { /* Clean a bit of pixels */ for ($i = 0; $i < 7; $i++) { $myPicture->drawLine(0, $i, 6 - $i, $i, array('R' => 255, 'G' => 255, 'B' => 255)); } $end = $height - 1; for ($i = 0; $i < 7; $i++) { $myPicture->drawLine(0, $end - $i, 5 - $i, $end - $i, array('R' => 255, 'G' => 255, 'B' => 255)); } } } $myPicture->drawRoundedRectangle(0, 0, $width, $height - 1, $radius, array('R' => 157, 'G' => 157, 'B' => 157)); $myPicture->Stroke(); }
<?php /* CAT:Barcode */ /* pChart library inclusions */ include "../class/pDraw.class.php"; include "../class/pBarcode39.class.php"; include "../class/pBarcode128.class.php"; include "../class/pImage.class.php"; /* Create the pChart object */ $myPicture = new pImage(600, 310); $myPicture->drawFilledRectangle(0, 0, 600, 310, array("R" => 240, "G" => 240, "B" => 240)); /* Draw the rounded box */ $myPicture->setShadow(TRUE, array("X" => 2, "Y" => 2, "R" => 0, "G" => 0, "B" => 0, "Alpha" => 30)); $Settings = array("R" => 255, "G" => 255, "B" => 255, "BorderR" => 0, "BorderG" => 0, "BorderB" => 0); $myPicture->drawRoundedFilledRectangle(10, 10, 590, 300, 10, $Settings); /* Draw the cell divisions */ $myPicture->setShadow(FALSE); $Settings = array("R" => 0, "G" => 0, "B" => 0); $myPicture->drawLine(10, 110, 590, 110, $Settings); $myPicture->drawLine(200, 10, 200, 110, $Settings); $myPicture->drawLine(400, 10, 400, 110, $Settings); $myPicture->drawLine(10, 160, 590, 160, $Settings); $myPicture->drawLine(220, 160, 220, 200, $Settings); $myPicture->drawLine(320, 160, 320, 200, $Settings); $myPicture->drawLine(10, 200, 590, 200, $Settings); $myPicture->drawLine(400, 220, 400, 300, $Settings); /* Write the fields labels */ $myPicture->setFontProperties(array("FontName" => "../fonts/Forgotte.ttf", "FontSize" => 10)); $Settings = array("R" => 0, "G" => 0, "B" => 0, "Align" => TEXT_ALIGN_TOPLEFT); $myPicture->drawText(20, 20, "FROM", $Settings); $myPicture->drawText(210, 20, "TO", $Settings);
<?php /* CAT:Misc */ /* pChart library inclusions */ include "../class/pDraw.class.php"; include "../class/pImage.class.php"; /* Create the pChart object */ $myPicture = new pImage(700, 230, NULL, TRUE); /* Draw a rounded filled rectangle */ $RectangleSettings = array("R" => 209, "G" => 31, "B" => 27, "Alpha" => 50, "Surrounding" => 30); $myPicture->drawRoundedFilledRectangle(10, 25, 70, 55, 5, $RectangleSettings); /* Draw a rounded filled rectangle */ $RectangleSettings = array("R" => 209, "G" => 125, "B" => 27, "Alpha" => 50, "Surrounding" => 30); $myPicture->drawRoundedFilledRectangle(10, 85, 70, 115, 5, $RectangleSettings); /* Draw a rounded filled rectangle */ $RectangleSettings = array("R" => 209, "G" => 198, "B" => 27, "Alpha" => 50, "Surrounding" => 30); $myPicture->drawRoundedFilledRectangle(10, 135, 70, 165, 5, $RectangleSettings); /* Draw a rounded filled rectangle */ $RectangleSettings = array("R" => 134, "G" => 209, "B" => 27, "Alpha" => 50, "Surrounding" => 30); $myPicture->drawRoundedFilledRectangle(10, 185, 70, 215, 5, $RectangleSettings); /* Enable shadow computing */ $myPicture->setShadow(TRUE, array("X" => 2, "Y" => 2, "R" => 0, "G" => 0, "B" => 0, "Alpha" => 20)); /* Draw a rounded filled rectangle */ $RectangleSettings = array("R" => 209, "G" => 198, "B" => 27, "Alpha" => 100, "Surrounding" => 30, "Radius" => 20); $myPicture->drawRoundedFilledRectangle(100, 20, 680, 210, 20, $RectangleSettings); /* Render the picture (choose the best way) */ $myPicture->autoOutput("pictures/example.transparent.background.png");