ChartDirector Ver 5.0 (PHP Edition)

3D Shadow Mode

This example demonstrates an alternative 3D drawing method that uses shadows.
The standard way to draw a pie chart in 3D is to view the chart from an inclined angle. Using this method, the surface of a 3D pie will become an ellipse.
ChartDirector supports an alternative way to draw a pie chart in 3D - to draw the 3D portion like a shadow. The 3D pie will remain perfectly circular, and the sector areas will correctly reflect its percentages.
The 3D drawing method is configured using PieChart.set3D.

Source Code Listing

[File: phpdemo/shadowpie.php]

    <?php
    require_once("../lib/phpchartdir.php");

    # the tilt angle of the pie
    $angle = (int)($_REQUEST["img"]) * 90 + 45;

    # The data for the pie chart
    $data = array(25, 18, 15, 12, 8, 30, 35);

    # Create a PieChart object of size 100 x 110 pixels
    $c = new PieChart(100, 110);

    # Set the center of the pie at (50, 55) and the radius to 36 pixels
    $c->setPieSize(50, 55, 36);

    # Set the depth, tilt angle and 3D mode of the 3D pie (-1 means auto depth, "true"
    # means the 3D effect is in shadow mode)
    $c->set3D(-1, $angle, true);

    # Add a title showing the shadow angle
    $c->addTitle("Shadow @ $angle deg", "arial.ttf", 8);

    # Set the pie data
    $c->setData($data);

    # Disable the sector labels by setting the color to Transparent
    $c->setLabelStyle("", 8, Transparent);

    # Output the chart
    header("Content-type: image/png");
    print($c->makeChart2(PNG));
    ?>

© 2009 Advanced Software Engineering Limited. All rights reserved.