summaryrefslogtreecommitdiff
path: root/ext/gd/tests/bug72913.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/gd/tests/bug72913.phpt')
-rw-r--r--ext/gd/tests/bug72913.phpt29
1 files changed, 29 insertions, 0 deletions
diff --git a/ext/gd/tests/bug72913.phpt b/ext/gd/tests/bug72913.phpt
new file mode 100644
index 0000000000..0ad03a7d3c
--- /dev/null
+++ b/ext/gd/tests/bug72913.phpt
@@ -0,0 +1,29 @@
+--TEST--
+Bug #72913 (imagecopy() loses single-color transparency on palette images)
+--SKIPIF--
+<?php
+if (!extension_loaded('gd')) die('skip gd extension not available');
+?>
+--FILE--
+<?php
+$base64 = 'iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAIAAACRXR/mAAAABnRSTlMAAAAAAABu'
+ . 'pgeRAAAAVklEQVRYw+3UQQqAMBAEwf3/p9eTBxEPiWAmWMU8oGFJqgAAuOpzWTX3'
+ . 'xQUti+uRJTZ9V5aY1bOTFZLV7yZr9zt6ibv/qPXfrMpsGipbIy7oqQ8AYJED1plD'
+ . 'y5PCu2sAAAAASUVORK5CYII=';
+$src = imagecreatefromstring(base64_decode($base64));
+
+$dst = imagecreate(50, 50);
+$transparent = imagecolorallocatealpha($dst, 255, 255, 255, 127);
+imagealphablending($dst, false);
+imagesavealpha($dst, true);
+
+imagecopy($dst, $src, 0,0, 0,0, 50,50);
+
+ob_start();
+imagegd($dst);
+echo md5(ob_get_clean()), PHP_EOL;
+?>
+==DONE==
+--EXPECT--
+f03c27f20710e21debd7090c660f1a1e
+==DONE==