[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pecl-cvs
Subject:    [PECL-CVS] cvs: pecl /ps/examples image.php
From:       "Uwe Steinmann" <steinm () php ! net>
Date:       2006-02-28 15:54:22
Message-ID: cvssteinm1141142062 () cvsserver
[Download RAW message or body]

steinm		Tue Feb 28 15:54:22 2006 UTC

  Modified files:              
    /pecl/ps/examples	image.php 
  Log:
  - added many more picture types
  
  
http://cvs.php.net/viewcvs.cgi/pecl/ps/examples/image.php?r1=1.1&r2=1.2&diff_format=u
Index: pecl/ps/examples/image.php
diff -u pecl/ps/examples/image.php:1.1 pecl/ps/examples/image.php:1.2
--- pecl/ps/examples/image.php:1.1	Tue Jul 27 15:31:53 2004
+++ pecl/ps/examples/image.php	Tue Feb 28 15:54:22 2006
@@ -1,5 +1,33 @@
 <?php
 
+define("LEFT_BORDER", 50);
+define("EXAMPLE_BOX_HEIGHT", 190);
+define("EXAMPLE_BOX_WIDTH", 150);
+define("EXAMPLE_BOX_TITLE_HEIGHT", 40);
+
+function begin_example_box($p, $llx, $lly, $title, $font) {
+	ps_save($p);
+	ps_translate($p, $llx, $lly);
+	ps_setcolor($p, "fill", "gray", 0.5, 0.0, 0.0, 0.0);
+	ps_rect($p, 0, EXAMPLE_BOX_HEIGHT-EXAMPLE_BOX_TITLE_HEIGHT,
+	           EXAMPLE_BOX_WIDTH, EXAMPLE_BOX_TITLE_HEIGHT);
+	ps_fill($p);
+	ps_setcolor($p, "stroke", "gray", 1.0, 0.0, 0.0, 0.0);
+	ps_setfont($p, $font, 12.0);
+	ps_show_xy($p, $title, 10, EXAMPLE_BOX_HEIGHT-EXAMPLE_BOX_TITLE_HEIGHT+5);
+	ps_setlinewidth($p, 1.0);
+	ps_setcolor($p, "stroke", "gray", 0.0, 0.0, 0.0, 0.0);
+	ps_rect($p, 0, 0, EXAMPLE_BOX_WIDTH, EXAMPLE_BOX_HEIGHT);
+	ps_stroke($p);
+	ps_moveto($p, 0, EXAMPLE_BOX_HEIGHT-EXAMPLE_BOX_TITLE_HEIGHT);
+	ps_lineto($p, EXAMPLE_BOX_WIDTH, EXAMPLE_BOX_HEIGHT-EXAMPLE_BOX_TITLE_HEIGHT);
+	ps_stroke($p);
+}
+
+function end_example_box($p) {
+	ps_restore($p);
+}
+
 $ps = ps_new();
 
 if (!ps_open_file($ps, "image.ps")) {
@@ -11,16 +39,99 @@
 
 ps_set_info($ps, "Creator", "image.php");
 ps_set_info($ps, "Author", "Uwe Steinmann");
-ps_set_info($ps, "Title", "Many examples");
+ps_set_info($ps, "Title", "Image examples");
 
 ps_begin_page($ps, 596, 842);
 $psfont = ps_findfont($ps, "Helvetica", "", 0);
 ps_setfont($ps, $psfont, 12.0);
-ps_set_value($ps, "leading", 16);
-ps_show_boxed($ps, "The same image in its original size (left) and scaled by a \
                factor of 10.0 (below).", 200, 700, 180, 80, "left", NULL);
-$psimage = ps_open_image_file($ps, "png", "debian.png", "", 0);
-ps_place_image($ps, $psimage, 50, 50, 10.0);
-ps_place_image($ps, $psimage, 50, 730, 1.0);
+
+	$x = 0;
+	$y = 625;
+	begin_example_box($ps, LEFT_BORDER+(EXAMPLE_BOX_WIDTH+30)*($x++), $y, "Indexed \
image without alpha channel", $psfont); +	$psimage = ps_open_image_file($ps, "png", \
"indexed.png", NULL, 0); +	ps_place_image($ps, $psimage, 10, 30, 1.0);
+	end_example_box($ps);
+
+	begin_example_box($ps, LEFT_BORDER+(EXAMPLE_BOX_WIDTH+30)*($x++), $y, "RGB image \
without alpha channel", $psfont); +	$psimage = ps_open_image_file($ps, "png", \
"rgb.png", NULL, 0); +	ps_place_image($ps, $psimage, 10, 30, 1.0);
+	end_example_box($ps);
+
+	begin_example_box($ps, LEFT_BORDER+(EXAMPLE_BOX_WIDTH+30)*($x++), $y, "Indexed \
image with alpha channel", $psfont); +	$psimage = ps_open_image_file($ps, "png", \
"indexed-alpha.png", NULL, 0); +	ps_place_image($ps, $psimage, 10, 30, 1.0);
+	end_example_box($ps);
+
+	$x = 0;
+	$y = 405;
+	begin_example_box($ps, LEFT_BORDER+(EXAMPLE_BOX_WIDTH+30)*($x++), $y, "RGB image \
with alpha channel", $psfont); +//	psimage = ps_open_image_file($ps, "png", \
"rgb-alpha.png", NULL, 0); +//	ps_place_image($ps, psimage, 10, 30, 1.0);
+	end_example_box($ps);
+
+	begin_example_box($ps, LEFT_BORDER+(EXAMPLE_BOX_WIDTH+30)*($x++), $y, "Jpeg gray \
scale image", $psfont); +	$psimage = ps_open_image_file($ps, "jpeg", "gnu-head.jpg", \
NULL, 0); +	ps_place_image($ps, $psimage, 10, 10, 0.45);
+	end_example_box($ps);
+
+	begin_example_box($ps, LEFT_BORDER+(EXAMPLE_BOX_WIDTH+30)*($x++), $y, "", $psfont);
+	$psimage = ps_open_image_file($ps, "jpeg", "exiftest.jpg", NULL, 0);
+	ps_place_image($ps, $psimage, 30, 10, 0.30);
+	end_example_box($ps);
+
+	$x = 0;
+	$y = 185;
+	begin_example_box($ps, LEFT_BORDER+(EXAMPLE_BOX_WIDTH+30)*($x++), $y, "Images \
created in memory", $psfont); +	$imagedata = "01234567890123456";
+	/* RGB */
+	for($i=0; $i<16; $i++)
+		$imagedata[$i] = chr(0);
+	$imagedata[0] = chr(255);
+	$imagedata[4] = chr(255);
+	$imagedata[8] = chr(255);
+	$psimage = ps_open_image($ps, "memory", "memory", $imagedata, 12, 2, 2, 3, 8, \
NULL); +	ps_place_image($ps, $psimage, 20, 20, 20.0);
+	/* Gray */
+	for($i=0; $i<16; $i++)
+		$imagedata[$i] = chr(0);
+	$imagedata[0] = chr(192);
+	$imagedata[1] = chr(128);
+	$imagedata[2] = chr(64);
+	$imagedata[3] = chr(0);
+	$psimage = ps_open_image($ps, "memory", "memory", $imagedata, 4, 2, 2, 1, 8, NULL);
+	ps_place_image($ps, $psimage, 90, 20, 20.0);
+	/* CMYK */
+	for($i=0; $i<16; $i++)
+		$imagedata[$i] = chr(255);
+	$imagedata[0] = chr(0);
+	$imagedata[5] = chr(0);
+	$imagedata[10] = chr(0);
+	$imagedata[15] = chr(0);
+	$psimage = ps_open_image($ps, "memory", "memory", $imagedata, 16, 2, 2, 4, 8, \
NULL); +	ps_place_image($ps, $psimage, 20, 90, 20.0);
+	ps_setfont($ps, $psfont, 8.0);
+	ps_show_xy($ps, "CMYK", 20, 80);
+	ps_show_xy($ps, "RGB", 20, 10);
+	ps_show_xy($ps, "Gray", 90, 10);
+
+	end_example_box($ps);
+
+	begin_example_box($ps, LEFT_BORDER+(EXAMPLE_BOX_WIDTH+30)*($x++), $y, "Jpeg cmyk \
image, rotated", $psfont); +	$psimage = ps_open_image_file($ps, "jpeg", \
"cne-cmyk.jpg", NULL, 0); +	ps_translate($ps, 72, 10);
+	ps_rotate($ps, 45);
+	ps_place_image($ps, $psimage, 0, 0, 0.45);
+	end_example_box($ps);
+
+	begin_example_box($ps, LEFT_BORDER+(EXAMPLE_BOX_WIDTH+30)*($x++), $y, "EPS read \
from memory", $psfont); +	$data = file_get_contents("picture.eps");	
+	$psimage = ps_open_image($ps, "eps", "memory", $data, strlen($data), 0, 0, 0, 0, \
NULL); +	ps_place_image($ps, $psimage, 15, 25, 0.45);
+	$buffer = sprintf("%.0f x %.0f pixel", ps_get_value($ps, "imagewidth", $psimage), \
ps_get_value($ps, "imageheight", $psimage)); +	ps_setfont($ps, $psfont, 10.0);
+	ps_show_xy($ps, $buffer, EXAMPLE_BOX_WIDTH-10-ps_stringwidth($ps, $buffer, $psfont, \
10), 10); +	end_example_box($ps);
+
 ps_end_page($ps);
 
 ps_close($ps);

-- 
PECL CVS Mailing List 
To unsubscribe, visit: http://www.php.net/unsub.php


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic