copypalette.phpt 958 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. --TEST--
  2. imagepalettecopy
  3. --SKIPIF--
  4. <?php
  5. if (!function_exists('imagecolorat')) die("skip gd extension not available\n");
  6. ?>
  7. --FILE--
  8. <?php
  9. $failed = false;
  10. $im = imagecreate(1,1);
  11. for ($i=0; $i<256; $i++) {
  12. imagecolorallocate($im, $i, $i, $i);
  13. }
  14. $im2 = imagecreate(1,1);
  15. imagepalettecopy($im2, $im);
  16. for ($i=0; $i<256; $i++) {
  17. $c = imagecolorsforindex($im2, $i);
  18. if ($c['red']!=$i || $c['green']!=$i || $c['blue']!=$i) {
  19. $failed = true;
  20. break;
  21. }
  22. }
  23. echo "copy palette 255 colors: ";
  24. echo $failed ? 'failed' : 'ok';
  25. echo "\n";
  26. $im = imagecreate(1,1);
  27. $im2 = imagecreate(1,1);
  28. imagecolorallocatealpha($im, 0,0,0,100);
  29. imagepalettecopy($im2, $im);
  30. $c = imagecolorsforindex($im2, 0);
  31. if ($c['red']!=0 || $c['green']!=0 || $c['blue']!=0 || $c['alpha']!=100) {
  32. $failed = true;
  33. }
  34. echo 'copy palette 1 color and alpha: ';
  35. echo $failed ? 'failed' : 'ok';
  36. echo "\n";
  37. ?>
  38. --EXPECT--
  39. copy palette 255 colors: ok
  40. copy palette 1 color and alpha: ok