©
本文档使用
php.cn手册 发布
(PHP 4, PECL pdflib >= 1.0.0)
PDF_rect — Draw rectangle
$p
, float $x
, float $y
, float $width
, float $height
)
Draws a rectangle. 成功时返回 TRUE
, 或者在失败时返回 FALSE
。
[#1] nick [2010-05-26 03:02:32]
In php5 a rectangle with some text in is made like this.
<?php
$p->rect(55,520,400,20);
$p->stroke();
$font = $p->load_font("Helvetica", "winansi", "");
$p->setfont($font, 14.0);
$p->set_text_pos(200, 525);
$p->show("Some text");
?>
[#2] stuart at horuskol dot co dot uk [2006-06-09 02:14:13]
This section of the manual is really sparse, and there don't seem to be any tutorials out there that go beyond adding a single line of text, so I found this piece of information out by trial and error.
The function only specifies that you want a rectangle at those co-ordinates, and must be followed by a stroke command:
pdf_rect($pdf, 100, 100, 50, 50);
pdf_stroke($pdf);
This completes the process of placing the rectangle on the page.
[#3] ragnar at deulos dot com [2005-10-04 11:09:54]
Be sure of adding a pdf_stroke(resource_pdf) after the pdf_rect function or will take an error in the PDFlib.
[#4] tobias at midas dot se [2002-05-16 02:31:07]
Round rectangles
My function to create rectangles width round corners:
<?php
function pdf_roundrect($pdfobj, $xpos, $ypos, $xsize, $ysize, $radius)
{
$ypos = $ypos+$ysize;
pdf_moveto($pdfobj, $xpos, $ypos-$radius);
pdf_lineto($pdfobj, $xpos, $ypos-$ysize+$radius);
pdf_arc($pdfobj, $xpos+$radius, $ypos-$ysize+$radius, $radius, 180, 270);
pdf_lineto($pdfobj, $xpos+$xsize-$radius, $ypos-$ysize);
pdf_arc($pdfobj, $xpos+$xsize-$radius, $ypos-$ysize+$radius, $radius, 270, 360);
pdf_lineto($pdfobj, $xpos+$xsize, $ypos-$radius);
pdf_arc($pdfobj, $xpos+$xsize-$radius, $ypos-$radius, $radius,0,90);
pdf_lineto($pdfobj, $xpos+$radius, $ypos);
pdf_arc($pdfobj, $xpos+$radius, $ypos-$radius, $radius,90,180);
}
?>