bug66005.phpt 1.5 KB

123456789101112131415161718192021222324252627282930
  1. --TEST--
  2. Bug #66005 (imagecopy does not support 1bit transparency on truecolor images)
  3. --EXTENSIONS--
  4. gd
  5. --FILE--
  6. <?php
  7. $dest = imagecreatetruecolor(150, 50);
  8. $transparent = imagecolorallocatealpha($dest, 255, 255, 255, 127);
  9. imagealphablending($dest, false);
  10. imagefill($dest, 1, 1, $transparent);
  11. imagesavealpha($dest, true);
  12. // Palette image with transparent color
  13. $png_palette = imagecreatefromstring(base64_decode('iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAACVBMVEUAAAD/AAD///9nGWQeAAAAAXRSTlMAQObYZgAAAEFJREFUKM9jYBimIASZIxoagOAwhoaGInisQJ4DksJQJKWoPCAnNIQYHsgChBX4eMSbiddlqH5A9R+q39HCZWgDAFxFGyOrmguhAAAAAElFTkSuQmCCPHP'));
  14. // 24 bit with transparent color
  15. $png_24 = imagecreatefromstring(base64_decode('iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAIAAACRXR/mAAAABnRSTlMAAAAAAABupgeRAAAAVklEQVRYw+3UQQqAMBAEwf3/p9eTBxEPiWAmWMU8oGFJqgAAuOpzWTX3xQUti+uRJTZ9V5aY1bOTFZLV7yZr9zt6ibv/qPXfrMpsGipbIy7oqQ8AYJED1plDy5PCu2sAAAAASUVORK5CYII='));
  16. // 32 bit with full alpha channel
  17. $png_full = imagecreatefromstring(base64_decode('iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAXklEQVRo3u3XMQrAIBBFwb3/pU2VwiJNIvjdzMD2PlBwqwAAAGajatxz9OGf5viA+KA3EXExXyKiYlqErIiIiBGSFLIyYmuMkO7Xy2MX4ovS/ONoH7Eh/m1nBwCASBe3VYeVaAy8PwAAAABJRU5ErkJggg=='));
  18. imagecopy($dest, $png_palette, 0, 0, 0, 0, 50, 50);
  19. imagecopy($dest, $png_24, 50, 0, 0, 0, 50, 50);
  20. imagecopy($dest, $png_full, 100, 0, 0, 0, 50, 50);
  21. include_once __DIR__ . '/func.inc';
  22. test_image_equals_file(__DIR__ . '/bug66005.png', $dest);
  23. ?>
  24. --EXPECT--
  25. The images are equal.