Hallo Ihr,
ich nutze seit einiger Zeit für meine DB-Projekte den Designer von phpMyAdmin (Version 3.1.0). Ich drucke mir dieses ERM dann auch gerne aus. Mein Problem ist nur, dass die Linien der Tabellenverknüpfungen so dünn sind. Ich hänge mir das ERM nämlich an die Wand und eine gelbe sehr dünne Linie sieht man dann nicht sonderlich gut.
Gibt es eine Möglichkeit die Liniendicke im phpMyAdmin Designer bei der PDF-Ausgabe zu ändern???
Viele Grüße
LALILU
So ihr Lieben! Hier die Lösung.
Die dicke der Linien kann in folgender Datei eingestellt werden:
phpMyAdmin\pdf_schema.php
Dort gibt es folgende function:
function PMA_RT_Relation_draw($change_color, $i)
{
global $pdf;
if ($change_color) {
$d = $i % 6;
$j = ($i - $d) / 6;
$j = $j % 4;
$j++;
$case = array(
array(1, 0, 0),
array(0, 1, 0),
array(0, 0, 1),
array(1, 1, 0),
array(1, 0, 1),
array(0, 1, 1)
);
list ($a, $b, $c) = $case[$d];
$e = (1 - ($j - 1) / 6);
$pdf->SetDrawColor($a * 255 * $e, $b * 255 * $e, $c * 255 * $e);
} else {
$pdf->SetDrawColor(0);
} // end if... else...
$pdf->PMA_PDF_setLineWidthScale(0.5);
$pdf->PMA_PDF_lineScale($this->x_src, $this->y_src, $this->x_src + $this->src_dir * $this->w_tick, $this->y_src);
$pdf->PMA_PDF_lineScale($this->x_dest + $this->dest_dir * $this->w_tick, $this->y_dest, $this->x_dest, $this->y_dest);
$pdf->PMA_PDF_setLineWidthScale(2.0);
$pdf->PMA_PDF_lineScale($this->x_src + $this->src_dir * $this->w_tick, $this->y_src, $this->x_dest + $this->dest_dir * $this->w_tick, $this->y_dest);
$pdf->PMA_PDF_setLineWidthScale(0.1);
// arrow
$root2 = 2 * sqrt(2);
$pdf->PMA_PDF_lineScale($this->x_src + $this->src_dir * $this->w_tick * 0.75, $this->y_src, $this->x_src + $this->src_dir * (0.75 - 1 / $root2) * $this->w_tick, $this->y_src + $this->w_tick / $root2);
$pdf->PMA_PDF_lineScale($this->x_src + $this->src_dir * $this->w_tick * 0.75, $this->y_src, $this->x_src + $this->src_dir * (0.75 - 1 / $root2) * $this->w_tick, $this->y_src - $this->w_tick / $root2);
$pdf->PMA_PDF_lineScale($this->x_dest + $this->dest_dir * $this->w_tick / 2, $this->y_dest, $this->x_dest + $this->dest_dir * (0.5 + 1 / $root2) * $this->w_tick, $this->y_dest + $this->w_tick / $root2);
$pdf->PMA_PDF_lineScale($this->x_dest + $this->dest_dir * $this->w_tick / 2, $this->y_dest, $this->x_dest + $this->dest_dir * (0.5 + 1 / $root2) * $this->w_tick, $this->y_dest - $this->w_tick / $root2);
$pdf->SetDrawColor(0);
} // end of the "PMA_RT_Relation_draw()" method
hier kann über: "$pdf->PMA_PDF_setLineWidthScale(2.0);" die Liniedicke verändert werden.
Die untere "$pdf->PMA_PDF_setLineWidthScale(0.1);" habe ich selbst hinzugefügt, da die weiteren Linien (Tabellenrahmen) auch über diese function gesteuert werden.
Viel Spass damit :-)
LALILU