From d0a9b9a03fc7ae74ef8a64593ac6b592526ec4d5 Mon Sep 17 00:00:00 2001 From: pp Date: Wed, 19 May 2004 04:59:31 +0000 Subject: - initial import git-svn-id: https://siedziba.pl:790/svn/repos/php-imlib/trunk@7 455248ca-bdda-0310-9134-f4ebb693071a --- examples/flip.php | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 examples/flip.php (limited to 'examples/flip.php') diff --git a/examples/flip.php b/examples/flip.php new file mode 100644 index 0000000..2f6b3c6 --- /dev/null +++ b/examples/flip.php @@ -0,0 +1,91 @@ +$cb(); + $new = $obj->create_clone(); + $obj->$cb(); + return $new; +} + +$im = new ImlibImage(); +$im->load($srcname); +$orig = $im->create_scaled($thumbw,$thumbh); +$im->free(); +$imw = $orig->get_width(); +$imh = $orig->get_height(); + +// Create the image large enough to fit four scaled copies of $srcname +$dst = new ImlibImage(); +$dst->create(2*$imw + 3*$padding, 2*$imh + 5*$padding); + +// Load in a font and set the color and image to draw on +$txt = new ImlibText(); +$txt->set_color_array($textarray); +$txt->set_image($dst->get_id()); +$txt->load('','./ARIAL',16); + +// Get a drawing object and set its color and image to draw on +$box = new ImlibDraw(); +$box->set_color_array($bgarray); +$box->set_image($dst->get_id()); + +$orig_alpha = $orig->has_alpha(); +$box->fill_rectangle($padding-3,$padding-3, $imw+6,$imh+6); +$txt->draw($padding,$padding+$imh,'Original'); +$orig->blend_onto_image($dst->get_id(),0,0,$orig_alpha,$imw,$imh, + $padding,$padding, $imw,$imh,0,$orig_alpha,0); + +$horiz = flipCreate($orig,'horizontal'); +$horiz_alpha = $horiz->has_alpha(); +$box->fill_rectangle(2*$padding-3+$imw,$padding-3, $imw+6,$imh+6); +$txt->draw(2*$padding+$imw,$padding+$imh,'Horizontal'); +$horiz->blend_onto_image($dst->get_id(),0,0,$horiz_alpha,$imw,$imh, + 2*$padding+$imw,$padding, $imw,$imh,0,$horiz_alpha,0); + +$vert = flipCreate($orig,'vertical'); +$vert_alpha = $vert->has_alpha(); +$box->fill_rectangle($padding-3,3*$padding-3+$imh, $imw+6,$imh+6); +$txt->draw($padding,3*$padding+2*$imh,'Vertical'); +$vert->blend_onto_image($dst->get_id(),0,0,$vert_alpha,$imw,$imh,$padding, + 3*$padding+$imh,$imw,$imh,0,$vert_alpha,0); + +// In order to keep things simple, this image will be cropped off if it's +// not square. This is done to keep things simple. To show the whole +// diagonally cropped image, the dimensions for $dst would need to be +// calculated from the resulting height of the diagonal version of the image +$diag = flipCreate($orig,'diagonal'); +$diag_alpha = $diag->has_alpha(); +$box->fill_rectangle(2*$padding-3+$imw,3*$padding-3+$imh, $imw+6,$imh+6); +$txt->draw(2*$padding+$imw,3*$padding+2*$imh,'Diagonal'); +$diag->blend_onto_image($dst->get_id(),0,0,$diag_alpha,$imw,$imh,2*$padding+$imw, + 3*$padding+$imh,$imw,$imh,0,$diag_alpha,0); + +$dst->save('./flip.png'); +$dst->free(); + +?> -- cgit v1.2.3