function pSurface::drawSurface in Visitors 7
Same name and namespace in other branches
- 7.2 pChart/class/pSurface.class.php \pSurface::drawSurface()
File
- pChart/
class/ pSurface.class.php, line 193
Class
Code
function drawSurface($Format = "") {
$Palette = isset($Format["Palette"]) ? $Format["Palette"] : NULL;
$ShadeR1 = isset($Format["ShadeR1"]) ? $Format["ShadeR1"] : 77;
$ShadeG1 = isset($Format["ShadeG1"]) ? $Format["ShadeG1"] : 205;
$ShadeB1 = isset($Format["ShadeB1"]) ? $Format["ShadeB1"] : 21;
$ShadeA1 = isset($Format["ShadeA1"]) ? $Format["ShadeA1"] : 40;
$ShadeR2 = isset($Format["ShadeR2"]) ? $Format["ShadeR2"] : 227;
$ShadeG2 = isset($Format["ShadeG2"]) ? $Format["ShadeG2"] : 135;
$ShadeB2 = isset($Format["ShadeB2"]) ? $Format["ShadeB2"] : 61;
$ShadeA2 = isset($Format["ShadeA2"]) ? $Format["ShadeA2"] : 100;
$Border = isset($Format["Border"]) ? $Format["Border"] : FALSE;
$BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 0;
$BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 0;
$BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 0;
$Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : -1;
$Padding = isset($Format["Padding"]) ? $Format["Padding"] : 1;
$X0 = $this->pChartObject->GraphAreaX1;
$Y0 = $this->pChartObject->GraphAreaY1;
$XSize = ($this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1) / ($this->GridSizeX + 1);
$YSize = ($this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1) / ($this->GridSizeY + 1);
for ($X = 0; $X <= $this->GridSizeX; $X++) {
for ($Y = 0; $Y <= $this->GridSizeY; $Y++) {
$Value = $this->Points[$X][$Y];
if ($Value != UNKNOWN && $Value != IGNORED) {
$X1 = floor($X0 + $X * $XSize) + $Padding;
$Y1 = floor($Y0 + $Y * $YSize) + $Padding;
$X2 = floor($X0 + $X * $XSize + $XSize);
$Y2 = floor($Y0 + $Y * $YSize + $YSize);
if ($Palette != NULL) {
if (isset($Palette[$Value]) && isset($Palette[$Value]["R"])) {
$R = $Palette[$Value]["R"];
}
else {
$R = 0;
}
if (isset($Palette[$Value]) && isset($Palette[$Value]["G"])) {
$G = $Palette[$Value]["G"];
}
else {
$G = 0;
}
if (isset($Palette[$Value]) && isset($Palette[$Value]["B"])) {
$B = $Palette[$Value]["B"];
}
else {
$B = 0;
}
if (isset($Palette[$Value]) && isset($Palette[$Value]["Alpha"])) {
$Alpha = $Palette[$Value]["Alpha"];
}
else {
$Alpha = 1000;
}
}
else {
$R = ($ShadeR2 - $ShadeR1) / 100 * $Value + $ShadeR1;
$G = ($ShadeG2 - $ShadeG1) / 100 * $Value + $ShadeG1;
$B = ($ShadeB2 - $ShadeB1) / 100 * $Value + $ShadeB1;
$Alpha = ($ShadeA2 - $ShadeA1) / 100 * $Value + $ShadeA1;
}
$Settings = array(
"R" => $R,
"G" => $G,
"B" => $B,
"Alpha" => $Alpha,
);
if ($Border) {
$Settings["BorderR"] = $BorderR;
$Settings["BorderG"] = $BorderG;
$Settings["BorderB"] = $BorderB;
}
if ($Surrounding != -1) {
$Settings["BorderR"] = $R + $Surrounding;
$Settings["BorderG"] = $G + $Surrounding;
$Settings["BorderB"] = $B + $Surrounding;
}
$this->pChartObject
->drawFilledRectangle($X1, $Y1, $X2 - 1, $Y2 - 1, $Settings);
}
}
}
}