Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : PDF Functions : PDF_shading

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.

Code Examples / Notes » pdf_shading

mike zmuda

<?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;
?>


Change Language


Follow Navioo On Twitter
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_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
eXTReMe Tracker