Ankündigung

Einklappen
Keine Ankündigung bisher.

[fpdf] runde ecken mit hintergrundfarbe

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [fpdf] runde ecken mit hintergrundfarbe

    hiho,
    ich habe hier ein script welches mir ein rechteck mit "runde ecken" ermöglicht, kann mir jemand sagen wie ich die hintergrundfarbe oben grau und unten gelb mache? wäre schön wenn es sich mit einem einzigen rechteck realisieren lassen würde

    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();
    ?>

  • #2
    Was meinst Du mit "oben grau und unten gelb"?
    Ein graues Rechteck und ein gelbes abgrundetes Rechteck drübergelegt?
    Oder soll sich die Hintergrundfarbe in der Mitte ändern?
    Oder was auch immer?

    Kommentar


    • #3
      Bei RoundedRect() in den jeweilgen Abschnitten die Farbe einstellen.

      EDIT:

      Vom Farbverlauf ist aber nicht die Rede oder ?

      Kommentar

      Lädt...
      X