$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();
}
Example #5
0
<?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");