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(); }
$scale->Set(0, $xmax, 0, $ymax); // ... we need shape since we want the indented rectangle $shape = new Shape($g, $scale); $shape->SetColor('black'); // ... basic parameters for the overall image $l = 2; // Left margin $r = 18; // Row number to start the lowest line on $width = 16; // Total width // Setup the two basic rectangle text object we will use $tt = new CanvasRectangleText(); $tt->SetFont(FF_ARIAL, FS_NORMAL, 14); $tt->SetFillColor(''); $tt->SetColor(''); $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);
$scale = new CanvasScale($g); $scale->Set(0, 27, 0, 53); $g->SetMargin(5, 6, 5, 6); $g->SetColor('white'); $g->SetMarginColor("teal"); $g->InitFrame(); $t = new CanvasRectangleText(); $t->SetFillColor('lightgreen'); $t->SetFontColor('navy'); $t->SetFont(FF_ARIAL, FS_NORMAL, 16); $t->Set("\n\n\n\n\n\n\n\n\n\n\nTTF Fonts", 0.5, 19, 26, 32); $t->Stroke($g->img, $scale); $t = new CanvasRectangleText(); $t->SetFillColor(''); $t->SetFontColor('black'); $t->SetColor(''); $t->SetShadow(''); $t->SetFont(FF_ARIAL, FS_BOLD, 18); $t->Set('Family', 1, 1, 8); $t->Stroke($g->img, $scale); $t->Set('Italic style', 9, 1, 8); $t->Stroke($g->img, $scale); $t->Set('Bold style', 17.5, 1, 8); $t->Stroke($g->img, $scale); $t->SetFillColor('yellow'); $t->SetFontColor('black'); $t->SetColor('black'); $t->SetShadow('gray'); $r = 6; $c = 1; $w = 7.5;