martin
Well-Known Member
Hi
Zum Thema "runde Ecken" hab ich schon was gefunden, klappt auch prima, sogar mit Hintergrundfarbe
Das hier ist das Script dafür:
Leider bin ich nicht so der Programmierguru und bräuchte deshalb eure Hilfe. Ich möchte jetzt so ein Rechteck erstellen mit runden Ecken (was schon klappt anhand des Scriptes), wobei die Hintergrundfarbe in der oberen Hälfte des Rechteckes grau und in der unteren Hälfte gelb sein sollte.
Ich weiß, ist viel verlangt, aber ich hab's schon selbst probiert und ich kann einfach zu wenig php. Vielleicht ist es für jemanden von euch ja nur ne Kleinigkeit, ich wäre jedenfalls sehr dankbar.
Gruß
martin
Zum Thema "runde Ecken" hab ich schon was gefunden, klappt auch prima, sogar mit Hintergrundfarbe
Das hier ist das Script dafür:
Code:
<?php
require('fpdf.php');
class PDF extends FPDF
{
function RoundedRect($x, $y, $w, $h,$r, $style = '')
{
$k = $this->k;
$hp = $this->h;
if($style=='F')
$op='f';
elseif($style=='FD' or $style=='DF')
$op='B';
else
$op='S';
$MyArc = 4/3 * (sqrt(2) - 1);
$this->_out(sprintf('%.2f %.2f m',($x+$r)*$k,($hp-$y)*$k ));
$xc = $x+$w-$r ;
$yc = $y+$r;
$this->_out(sprintf('%.2f %.2f l', $xc*$k,($hp-$y)*$k ));
$this->_Arc($xc + $r*$MyArc, $yc - $r, $xc + $r, $yc - $r*$MyArc, $xc + $r, $yc);
$xc = $x+$w-$r ;
$yc = $y+$h-$r;
$this->_out(sprintf('%.2f %.2f l',($x+$w)*$k,($hp-$yc)*$k));
$this->_Arc($xc + $r, $yc + $r*$MyArc, $xc + $r*$MyArc, $yc + $r, $xc, $yc + $r);
$xc = $x+$r ;
$yc = $y+$h-$r;
$this->_out(sprintf('%.2f %.2f l',$xc*$k,($hp-($y+$h))*$k));
$this->_Arc($xc - $r*$MyArc, $yc + $r, $xc - $r, $yc + $r*$MyArc, $xc - $r, $yc);
$xc = $x+$r ;
$yc = $y+$r;
$this->_out(sprintf('%.2f %.2f l',($x)*$k,($hp-$yc)*$k ));
$this->_Arc($xc - $r, $yc - $r*$MyArc, $xc - $r*$MyArc, $yc - $r, $xc, $yc - $r);
$this->_out($op);
}
function _Arc($x1, $y1, $x2, $y2, $x3, $y3)
{
$h = $this->h;
$this->_out(sprintf('%.2f %.2f %.2f %.2f %.2f %.2f c ', $x1*$this->k, ($h-$y1)*$this->k,
$x2*$this->k, ($h-$y2)*$this->k, $x3*$this->k, ($h-$y3)*$this->k));
}
}
$pdf=new PDF();
$pdf->Open();
$pdf->AddPage();
$pdf->SetLineWidth(0.5);
$pdf->SetFillColor(192);
$pdf->RoundedRect(70, 30, 68, 46, 3.5, 'DF');
$pdf->Output();
?>
Leider bin ich nicht so der Programmierguru und bräuchte deshalb eure Hilfe. Ich möchte jetzt so ein Rechteck erstellen mit runden Ecken (was schon klappt anhand des Scriptes), wobei die Hintergrundfarbe in der oberen Hälfte des Rechteckes grau und in der unteren Hälfte gelb sein sollte.
Ich weiß, ist viel verlangt, aber ich hab's schon selbst probiert und ich kann einfach zu wenig php. Vielleicht ist es für jemanden von euch ja nur ne Kleinigkeit, ich wäre jedenfalls sehr dankbar.
Gruß
martin