function Run() { $leftm = 1.5; // Left margin (for table schemes) $topm = 5; // Top margin (for table schemes) $tblwidth = 15; // Individual table width $tlo = 1; // Offset for top line // Add the background color for the project specific tables $this->ishape->IndentedRectangle($leftm, $topm - 1, 3 * $tblwidth + $tlo + 6, 45, $tlo + 2 * $tblwidth + 2, 30, CORNER_BOTTOMLEFT, 'lightblue'); // Stroke the tables (series of x,y offsets, If =-1 then use the // automtic positioning $tblposadj = array($tlo, 0, $tblwidth + $tlo + 2, 0, 2 * $tblwidth + $tlo + 4, 0, -1, 16, -1, 16); $dbschema = new ImgDBSchema('jpgraph_doc', 'FormatTblName', 'FormatFldName'); $dbschema->SetMargin($leftm, $topm); $dbschema->SetTableWidth($tblwidth); $dbschema->Stroke($this->img, $this->iscale, $tblposadj); $tt = new CanvasRectangleText(); $tt->SetFillColor(''); $tt->SetColor(''); $tt->SetFontColor('navy'); // Add explanation $tt->SetFont(FF_ARIAL, FS_NORMAL, 12); $tt->Set('Project specific tables', $tblwidth + $leftm + 3, 16, 15); $tt->Stroke($this->img, $this->iscale); // Add title $tt->SetColor(''); $tt->SetFont(FF_VERDANA, FS_BOLD, 26); $tt->Set('DDDA - DB Schema', 9, 0.5, 30); $tt->Stroke($this->img, $this->iscale); // Add a version and date $tt->SetFillColor('yellow'); $tt->SetFont(FF_FONT1, FS_NORMAL, 10); $tt->Set("Generated: " . date("ymd H:i", time()), 1, $this->iymax * 0.96, 15); $tt->Stroke($this->img, $this->iscale); $this->ig->Stroke(); }
$tt->SetFontColor('navy'); $t = new CanvasRectangleText(); $t->SetFont(FF_ARIAL, FS_NORMAL, 14); $t->SetFillColor('goldenrod1'); $t->SetFontColor('navy'); // Now start drawing the arch overview from the bottom and up // This is all pretty manual and one day I will write a proper // framework to make it easy to construct these types of architecture // overviews. But for now, just plain old coordinates.. // Line: GD Library and image libraries $h = 3; $s = 3; $d = $l + $width - 9; $t->SetFillColor('cadetblue3'); $t->Set("TTF", $d, $r + 2, $s, 1); $t->Stroke($g->img, $scale); $t->Set("PNG", $d + $s, $r + 2, $s, 1); $t->Stroke($g->img, $scale); $t->Set("JPEG", $d + 2 * $s, $r + 2, $s, 1); $t->Stroke($g->img, $scale); $shape->IndentedRectangle($l, $r, $width, $h, $s * 3, 1, 2, 'lightgreen'); $tt->Set("GD Basic library\n(1.8.x or 2.x)", $l, $r, $width, $h - 1); $tt->Stroke($g->img, $scale); // Area: Basic internal JpGraph architecture $t->SetFillColor('goldenrod1'); $h = 2; $r -= $h; $d = 8; $t->Set("Image primitives\n(RGB, Anti-aliasing,\nGD Abstraction)", $l, $r - 0.5, $width * 0.5, $h + 0.5); $t->Stroke($g->img, $scale); $t->Set("Image Cache &\nStreaming", $l + 0.5 * $width, $r, $width * 0.4, $h);