PDF_shading
(PECL pdflib >= 2.0.0)
PDF_shading — Define blend
Описание
int PDF_shading
( resource
$pdfdoc
, string $shtype
, float $x0
, float $y0
, float $x1
, float $y1
, float $c1
, float $c2
, float $c3
, float $c4
, string $optlist
)Defines a blend from the current fill color to another color.
This function requires PDF 1.4 or above.
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Генерация нетекстовых MIME форматов
- PDF_activate_item
- PDF_add_annotation
- PDF_add_bookmark
- PDF_add_launchlink
- PDF_add_locallink
- PDF_add_nameddest
- PDF_add_note
- PDF_add_outline
- PDF_add_pdflink
- PDF_add_table_cell
- PDF_add_textflow
- PDF_add_thumbnail
- PDF_add_weblink
- PDF_arc
- PDF_arcn
- PDF_attach_file
- PDF_begin_document
- PDF_begin_font
- PDF_begin_glyph
- PDF_begin_item
- PDF_begin_layer
- PDF_begin_page_ext
- PDF_begin_page
- PDF_begin_pattern
- PDF_begin_template_ext
- PDF_begin_template
- PDF_circle
- PDF_clip
- PDF_close_image
- PDF_close_pdi_page
- PDF_close_pdi
- PDF_close
- PDF_closepath_fill_stroke
- PDF_closepath_stroke
- PDF_closepath
- PDF_concat
- PDF_continue_text
- PDF_create_3dview
- PDF_create_action
- PDF_create_annotation
- PDF_create_bookmark
- PDF_create_field
- PDF_create_fieldgroup
- PDF_create_gstate
- PDF_create_pvf
- PDF_create_textflow
- PDF_curveto
- PDF_define_layer
- PDF_delete_pvf
- PDF_delete_table
- PDF_delete_textflow
- PDF_delete
- PDF_encoding_set_char
- PDF_end_document
- PDF_end_font
- PDF_end_glyph
- PDF_end_item
- PDF_end_layer
- PDF_end_page_ext
- PDF_end_page
- PDF_end_pattern
- PDF_end_template
- PDF_endpath
- PDF_fill_imageblock
- PDF_fill_pdfblock
- PDF_fill_stroke
- PDF_fill_textblock
- PDF_fill
- PDF_findfont
- PDF_fit_image
- PDF_fit_pdi_page
- PDF_fit_table
- PDF_fit_textflow
- PDF_fit_textline
- PDF_get_apiname
- PDF_get_buffer
- PDF_get_errmsg
- PDF_get_errnum
- PDF_get_font
- PDF_get_fontname
- PDF_get_fontsize
- PDF_get_image_height
- PDF_get_image_width
- PDF_get_majorversion
- PDF_get_minorversion
- PDF_get_parameter
- PDF_get_pdi_parameter
- PDF_get_pdi_value
- PDF_get_value
- PDF_info_font
- PDF_info_matchbox
- PDF_info_table
- PDF_info_textflow
- PDF_info_textline
- PDF_initgraphics
- PDF_lineto
- PDF_load_3ddata
- PDF_load_font
- PDF_load_iccprofile
- PDF_load_image
- PDF_makespotcolor
- PDF_moveto
- PDF_new
- PDF_open_ccitt
- PDF_open_file
- PDF_open_gif
- PDF_open_image_file
- PDF_open_image
- PDF_open_jpeg
- PDF_open_memory_image
- PDF_open_pdi_document
- PDF_open_pdi_page
- PDF_open_pdi
- PDF_open_tiff
- PDF_pcos_get_number
- PDF_pcos_get_stream
- PDF_pcos_get_string
- PDF_place_image
- PDF_place_pdi_page
- PDF_process_pdi
- PDF_rect
- PDF_restore
- PDF_resume_page
- PDF_rotate
- PDF_save
- PDF_scale
- PDF_set_border_color
- PDF_set_border_dash
- PDF_set_border_style
- PDF_set_char_spacing
- PDF_set_duration
- PDF_set_gstate
- PDF_set_horiz_scaling
- PDF_set_info_author
- PDF_set_info_creator
- PDF_set_info_keywords
- PDF_set_info_subject
- PDF_set_info_title
- PDF_set_info
- PDF_set_layer_dependency
- PDF_set_leading
- PDF_set_parameter
- PDF_set_text_matrix
- PDF_set_text_pos
- PDF_set_text_rendering
- PDF_set_text_rise
- PDF_set_value
- PDF_set_word_spacing
- PDF_setcolor
- PDF_setdash
- PDF_setdashpattern
- PDF_setflat
- PDF_setfont
- PDF_setgray_fill
- PDF_setgray_stroke
- PDF_setgray
- PDF_setlinecap
- PDF_setlinejoin
- PDF_setlinewidth
- PDF_setmatrix
- PDF_setmiterlimit
- PDF_setpolydash
- PDF_setrgbcolor_fill
- PDF_setrgbcolor_stroke
- PDF_setrgbcolor
- PDF_shading_pattern
- PDF_shading
- PDF_shfill
- PDF_show_boxed
- PDF_show_xy
- PDF_show
- PDF_skew
- PDF_stringwidth
- PDF_stroke
- PDF_suspend_page
- PDF_translate
- PDF_utf16_to_utf8
- PDF_utf32_to_utf16
- PDF_utf8_to_utf16
Коментарии
<?php
//Here be the circle code... Arrrrr
//Notes:
// The shading command can create a simple shaded
// circle, a donut (mmmmm.... donuts....,) or a circle
// with a hi-lite (aka offset shade.)
//
// A simple circle is just two circles with the same origin,
// in which one has a radius of x, and the other has a
// radius of 0.
//
// A donut is a circle with two circles with the same
// origin, in which one has a radius of x, and the
// other has a radius of y (presumably, non-zero.)
//
// A hi-lit circle is more like a sphere in that is has an
// area (presumably a highlight,) which is off-center.
//Standard php5 init routines.
// NOTE: For php4, do pdf_[commandname]($p,.....)
// - example: PDF_set_info($p,"Title", "Moe");
$p = new PDFlib();
if ($p->begin_document("", "") == 0) {
die("Error: " . $p->get_errmsg());
}
$p->set_info("Creator", "Homer");
$p->set_info("Author", "Lisa");
$p->set_info("Title", "Simpsons Circle");
$p->begin_page_ext(612, 792, ""); // This is letter.
//Smart idea to set up clipping:
$p->save();
//Set up clipping rectangle at pos (100,100) with wid/hei=100.
$p->rect(100,600,100,100);
//Designate it a CLIPPING rectangle.
$p->clip();
//Simple shaded circle
// radial = circular. (axial = linear)
// Origin of first circle = 150,650
// Origin of second circle = 150,650
// Hilite color = 1 (full on in a grayscale image = white.)
// 0,0,0 = the rest of the color pallatte.
// options: "r0=50 r1=0":
// Radius of circle "0" = 50.
// Radius of circle "1" = 0. (in other words, not a donut!)
$shading=$p->shading("radial", 150, 650, 150, 650, 1, 0, 0, 0, "r0=50 r1=0");
//This command actually does the shading.
$p->shfill($shading);
//Restore after saving...
$p->restore();
//Simple, non-offset (aka "funky") donut. (mmmmmm....)
// Again, set up clipping rect.
$p->save();
// This time at pos 300, 600 with width & height at 100 ea.
$p->rect(300,600,100,100);
$p->clip();
//Le Donut
// radial = circular
// Origin of first circle = 350,650
// Origin of second circle = 350,650
// Hilite color = 1 (white)
// 0,0,0 = the rest of the color pallatte.
// options: "r0=50 r1=25":
// Radius of circle "0" = 50.
// Radius of circle "1" = 25. (in other words, a donut!)
$shading=$p->shading("radial", 350, 650, 350, 650, 1, 0, 0, 0, "r0=50 r1=25");
$p->shfill($shading);
$p->restore();
//And finally, the hilight sphere / orb of death... whatever.
// Again, set up clipping rect...
$p->save();
$p->rect(500,600,100,100);
$p->clip();
//Simple shaded circle
// radial = circular.
// Origin of first circle = 550,650
// Origin of second circle = 575,675
// Hilite color = 1
// 0,0,0 = the rest of the color pallatte.
// options: "r0=50 r1=0":
// Radius of circle "0" = 50.
// Radius of circle "1" = 0. (a solid)
$shading=$p->shading("radial", 550, 650, 575, 675, 1, 0, 0, 0, "r0=50 r1=0");
$p->shfill($shading);
$p->restore();
//Send the end-of-page routines.
$p->end_page_ext("");
$p->end_document("");
$buf = $p->get_buffer();
$len = strlen($buf);
header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=CircTest.pdf");
print $buf;
?>