summaryrefslogtreecommitdiff
path: root/ext/gd/tests/imagecopyresampled_basic.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/gd/tests/imagecopyresampled_basic.phpt')
-rw-r--r--ext/gd/tests/imagecopyresampled_basic.phpt71
1 files changed, 71 insertions, 0 deletions
diff --git a/ext/gd/tests/imagecopyresampled_basic.phpt b/ext/gd/tests/imagecopyresampled_basic.phpt
new file mode 100644
index 0000000..a0454fa
--- /dev/null
+++ b/ext/gd/tests/imagecopyresampled_basic.phpt
@@ -0,0 +1,71 @@
+--TEST--
+imagecopyresampled()
+--SKIPIF--
+<?php
+ if (!function_exists('imagecopyresampled')) die('skip imagecopyresampled() not available');
+ if (!(imagetype() & IMG_PNG)) die('skip PNG Support is not enabled');
+?>
+--FILE--
+<?php
+
+/* Prototype : bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )
+ * Description: Copy and resize part of an image with resampling.
+ * Source code: ext/standard/image.c
+ * Alias to functions:
+ */
+
+echo "Simple test of imagecopyresampled() function\n";
+
+$dest_lge = dirname(realpath(__FILE__)) . '/imagelarge.png';
+$dest_sml = dirname(realpath(__FILE__)) . '/imagesmall.png';
+
+// create a blank image
+$image_lge = imagecreatetruecolor(400, 300);
+
+// set the background color to black
+$bg = imagecolorallocate($image_lge, 0, 0, 0);
+
+// fill polygon with blue
+$col_ellipse = imagecolorallocate($image_lge, 0, 255, 0);
+
+// draw the eclipse
+imagefilledellipse($image_lge, 200, 150, 300, 200, $col_ellipse);
+
+// output the picture to a file
+imagepng($image_lge, $dest_lge);
+
+// Get new dimensions
+$percent = 0.5; // new image 50% of orginal
+list($width, $height) = getimagesize($dest_lge);
+echo "Size of orginal: width=". $width . " height=" . $height . "\n";
+
+$new_width = $width * $percent;
+$new_height = $height * $percent;
+
+// Resample
+$image_sml = imagecreatetruecolor($new_width, $new_height);
+imagecopyresampled($image_sml, $image_lge, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
+
+imagepng($image_sml, $dest_sml);
+
+list($width, $height) = getimagesize($dest_sml);
+echo "Size of copy: width=". $width . " height=" . $height . "\n";
+
+imagedestroy($image_lge);
+imagedestroy($image_sml);
+
+
+echo "Done\n";
+?>
+--CLEAN--
+<?php
+ $dest_lge = dirname(realpath(__FILE__)) . '/imagelarge.png';
+ $dest_sml = dirname(realpath(__FILE__)) . '/imagesmall.png';
+ @unlink($dest_lge);
+ @unlink($dest_sml);
+?>
+--EXPECT--
+Simple test of imagecopyresampled() function
+Size of orginal: width=400 height=300
+Size of copy: width=200 height=150
+Done