示例#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");
示例#2
0
    $ext = $con->textExtents($str);
    $sf = $con->getScaledFont();
    $sext = $sf->textExtents("text");
    $lw = $con->getLineWidth();
    $con->rectangle($x + $ext["x_bearing"] - $lw / 2, $y + $ext["y_bearing"] - $lw / 2, $ext["width"] + $lw, $ext["height"] + $lw);
    $con->stroke();
    $con->moveTo($x, $y);
    $con->showText($str);
    $con->restore();
}
$sur = new CairoImageSurface(CairoFormat::ARGB32, 38, 34);
$con = new CairoContext($sur);
$con->setSourceRgb(1, 1, 1);
$con->paint();
$con->selectFontFace("Bitstream Vera Sans");
$con->setFontSize(12);
$con->translate(4, 4);
$con->setLineWidth(1);
$ext = $con->textExtents("text");
$con->setSourceRgb(0, 0, 0);
box_text("text", 0, -$ext["y_bearing"]);
$mat = new CairoMatrix();
$mat->translate(6, 16);
$mat->scale(12, 12);
$con->setFontMatrix($mat);
$con->setSourceRgb(0, 0, 1);
box_text("text", 0, -$ext["y_bearing"]);
$sur->writeToPng(dirname(__FILE__) . "/font-matrix-translation-php.png");
?>