Beispiel #1
0
$cr2->lineTo(0, 5 * $patheight / 6.0);
$cr2->setSourceRgb(0, 1, 0);
$cr2->stroke();
$cr2->moveTo(5 * $patwidth / 6.0, 0);
$cr2->lineTo($patwidth, 0);
$cr2->lineTo($patwidth, $patheight / 6.0);
$cr2->setSourceRgb(0, 0, 1);
$cr2->stroke();
$cr2->moveTo(5 * $patwidth / 6.0, $patheight);
$cr2->lineTo($patwidth, $patheight);
$cr2->lineTo($patwidth, 5 * $patheight / 6.0);
$cr2->setSourceRgb(1, 1, 0);
$cr2->stroke();
$cr2->setSourceRgb(0.5, 0.5, 0.5);
$cr2->setLineWidth($patwidth / 10.0);
$cr2->moveTo(0, $patheight / 4.0);
$cr2->lineTo($patwidth, $patheight / 4.0);
$cr2->stroke();
$cr2->moveTo($patwidth / 4.0, 0);
$cr2->lineTo($patwidth / 4.0, $patwidth);
$cr2->stroke();
$pattern = new CairoSurfacePattern($pat_surface);
$mat = new CairoMatrix();
$mat->scale(2, 1.5);
$mat->rotate(1);
$mat->translate(-$patwidth / 4.0, -$patwidth / 2.0);
$pattern->setMatrix($mat);
$pattern->setExtend(CairoExtend::NONE);
$con->setSource($pattern);
$con->paint();
$sur->writeToPng(dirname(__FILE__) . "/meta-surface-pattern-php.png");
Beispiel #2
0
<?php

$sur = new CairoImageSurface(CairoFormat::ARGB32, 5, 5);
$con = new CairoContext($sur);
$color = '';
$color .= chr(0x4c);
$color .= chr(0x33);
$color .= chr(0x19);
$color .= chr(0x80);
$s = new CairoImageSurface(CairoFormat::ARGB32, 1, 1);
$s->createForData($color, CairoFormat::ARGB32, 1, 1, 4);
$pat = new CairoSurfacePattern($s);
$pat->setExtend(CairoExtend::REPEAT);
for ($i = 0; $i < 5; $i++) {
    switch ($i) {
        case 0:
            $con->setSourceRgb(0.6, 0.7, 0.8);
            break;
        case 1:
            $con->setSourceRgba(0.2, 0.4, 0.6, 0.5);
            break;
        case 2:
            $con->setSourceRgba(0.2, 0.4, 0.6, 0.5);
            break;
        case 3:
        default:
            $con->setSource($pat);
    }
    $con->rectangle($i, 0, 1, 5);
    $con->fill();
}