Пример #1
0
    $con = new CairoContext($s);
    $con->setSourceRgb(1, 1, 1);
    $con->rectangle(0, 0, $surface_size / 2, $surface_size / 2);
    $con->fill();
    $con->setSourceRgb(1, 0, 0);
    $con->rectangle($surface_size / 2, 0, $surface_size / 2, $surface_size / 2);
    $con->fill();
    $con->setSourceRgb(0, 1, 0);
    $con->rectangle(0, $surface_size / 2, $surface_size / 2, $surface_size / 2);
    $con->fill();
    $con->setSourceRgb(0, 0, 1);
    $con->rectangle($surface_size / 2, $surface_size / 2, $surface_size / 2, $surface_size / 2);
    $con->fill();
    //	$s->writeToPng(dirname(__FILE__)  . "temp1.png");
}
$size = 90;
$sur = new CairoPSSurface("ps-surface-source.ps", $size, $size);
$sur->setFallbackResolution(72, 72);
$con = new CairoContext($sur);
$con->setSourceRgb(0, 0, 0);
$con->paint();
$surface_size = $size - 30;
$s = new CairoPSSurface("temp.pdf", $surface_size, $surface_size);
draw_pattern($surface_size);
$s->writeToPng(dirname(__FILE__) . "/temp1.png");
$con->setSourceSurface($s, 15.0, 15.0);
$con->paint();
$sur->writeToPng(dirname(__FILE__) . "/ps-surface-source-php.png");
?>

Пример #2
0
<?php

$width = 100;
$height = 100;
$sur = new CairoPSSurface("temp.ps", $width, $height);
$con = new CairoContext($sur);
$con->setSourceRgb(0, 0, 1);
$con->moveTo(50, 50);
$con->lineTo(50000, 50000);
$con->stroke();
$con->setSourceRgb(0, 1, 0);
$con->moveTo(50, 50);
$con->lineTo(-50000, 50000);
$con->stroke();
$con->setSourceRgb(1, 0, 0);
$con->moveTo(50, 50);
$con->lineTo(50000, -50000);
$con->stroke();
$con->setSourceRgb(1, 1, 0);
$con->moveTo(50, 50);
$con->lineTo(-50000, -50000);
$con->stroke();
$sur->writeToPng(dirname(__FILE__) . "/big-line-php.png");