$con->paint(); $con->restore(); for ($i = 0; $i < 2; $i++) { $con->save(); $con->setLineWidth($linewidth); $con->setDash($dash, $dashoff); $con->translate($pad, $pad); $con->moveTo(0, 0); $con->relLineTo(0, $size); $con->relLineTo($size, 0); $con->closePath(); $con->moveTo(2 * $linewidth, 0); $con->relLineTo(3 * $linewidth, 0); $con->relLineTo(0, 3 * $linewidth); $con->setLineCap(CairoLineCap::BUTT); $con->setLineJoin(CairoLineJoin::BEVEL); $con->stroke(); $con->translate($size + $pad, 0); $con->moveTo(0, 0); $con->relLineTo(0, $size); $con->relLineTo($size, 0); $con->closePath(); $con->moveTo(2 * $linewidth, 0); $con->relLineTo(3 * $linewidth, 0); $con->relLineTo(0, 3 * $linewidth); $con->setLineCap(CairoLineCap::ROUND); $con->setLineJoin(CairoLineJoin::ROUND); $con->stroke(); $con->translate($size + $pad, 0); $con->moveTo(0, 0); $con->relLineTo(0, $size);
<?php $sur = new CairoImageSurface(CairoFormat::ARGB32, 8, 8); $con = new CairoContext($sur); $con->setSourceRgb(1, 1, 1); $con->paint(); $con->setSourceRgb(0, 0, 0); $con->setLineJoin(CairoLineJoin::ROUND); $con->scale(20.0 / 100.0, 20 / 100.0); $con->scale(1.0 / 20, 1.0 / 20); $con->setLineWidth(20); $con->translate(-18300, -13200); $con->newPath(); $con->moveTo(18928, 13843); $con->lineTo(18500, 13843); $con->lineTo(18500, 13400); $con->lineTo(18928, 13400); $con->lineTo(18928, 13843); $con->stroke(); $sur->writeToPng(dirname(__FILE__) . "/infinite-join-php.png"); ?>