bug65148.phpt 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. --TEST--
  2. Bug #65148 (imagerotate may alter image dimensions)
  3. --EXTENSIONS--
  4. gd
  5. --FILE--
  6. <?php
  7. $interpolations = array(
  8. 'IMG_BELL' => IMG_BELL,
  9. 'IMG_BESSEL' => IMG_BESSEL,
  10. 'IMG_BICUBIC' => IMG_BICUBIC,
  11. 'IMG_BICUBIC_FIXED' => IMG_BICUBIC_FIXED,
  12. 'IMG_BILINEAR_FIXED' => IMG_BILINEAR_FIXED,
  13. 'IMG_BLACKMAN' => IMG_BLACKMAN,
  14. 'IMG_BOX' => IMG_BOX,
  15. 'IMG_BSPLINE' => IMG_BSPLINE,
  16. 'IMG_CATMULLROM' => IMG_CATMULLROM,
  17. 'IMG_GAUSSIAN' => IMG_GAUSSIAN,
  18. 'IMG_GENERALIZED_CUBIC' => IMG_GENERALIZED_CUBIC,
  19. 'IMG_HERMITE' => IMG_HERMITE,
  20. 'IMG_HAMMING' => IMG_HAMMING,
  21. 'IMG_HANNING' => IMG_HANNING,
  22. 'IMG_MITCHELL' => IMG_MITCHELL,
  23. 'IMG_POWER' => IMG_POWER,
  24. 'IMG_QUADRATIC' => IMG_QUADRATIC,
  25. 'IMG_SINC' => IMG_SINC,
  26. 'IMG_NEAREST_NEIGHBOUR' => IMG_NEAREST_NEIGHBOUR,
  27. 'IMG_WEIGHTED4' => IMG_WEIGHTED4,
  28. 'IMG_TRIANGLE' => IMG_TRIANGLE,
  29. );
  30. $img = imagecreate(40, 20);
  31. $results = array();
  32. foreach ($interpolations as $name => $interpolation) {
  33. imagesetinterpolation($img, $interpolation);
  34. $t = imagecolorallocatealpha($img, 0, 0, 0, 127);
  35. $imgr = imagerotate($img, -5, $t);
  36. $results[$name] = array('x' => imagesx($imgr), 'y' => imagesy($imgr));
  37. imagedestroy($imgr);
  38. }
  39. imagedestroy($img);
  40. print_r($results);
  41. ?>
  42. --EXPECT--
  43. Array
  44. (
  45. [IMG_BELL] => Array
  46. (
  47. [x] => 40
  48. [y] => 23
  49. )
  50. [IMG_BESSEL] => Array
  51. (
  52. [x] => 40
  53. [y] => 23
  54. )
  55. [IMG_BICUBIC] => Array
  56. (
  57. [x] => 40
  58. [y] => 23
  59. )
  60. [IMG_BICUBIC_FIXED] => Array
  61. (
  62. [x] => 40
  63. [y] => 23
  64. )
  65. [IMG_BILINEAR_FIXED] => Array
  66. (
  67. [x] => 40
  68. [y] => 23
  69. )
  70. [IMG_BLACKMAN] => Array
  71. (
  72. [x] => 40
  73. [y] => 23
  74. )
  75. [IMG_BOX] => Array
  76. (
  77. [x] => 40
  78. [y] => 23
  79. )
  80. [IMG_BSPLINE] => Array
  81. (
  82. [x] => 40
  83. [y] => 23
  84. )
  85. [IMG_CATMULLROM] => Array
  86. (
  87. [x] => 40
  88. [y] => 23
  89. )
  90. [IMG_GAUSSIAN] => Array
  91. (
  92. [x] => 40
  93. [y] => 23
  94. )
  95. [IMG_GENERALIZED_CUBIC] => Array
  96. (
  97. [x] => 40
  98. [y] => 23
  99. )
  100. [IMG_HERMITE] => Array
  101. (
  102. [x] => 40
  103. [y] => 23
  104. )
  105. [IMG_HAMMING] => Array
  106. (
  107. [x] => 40
  108. [y] => 23
  109. )
  110. [IMG_HANNING] => Array
  111. (
  112. [x] => 40
  113. [y] => 23
  114. )
  115. [IMG_MITCHELL] => Array
  116. (
  117. [x] => 40
  118. [y] => 23
  119. )
  120. [IMG_POWER] => Array
  121. (
  122. [x] => 40
  123. [y] => 23
  124. )
  125. [IMG_QUADRATIC] => Array
  126. (
  127. [x] => 40
  128. [y] => 23
  129. )
  130. [IMG_SINC] => Array
  131. (
  132. [x] => 40
  133. [y] => 23
  134. )
  135. [IMG_NEAREST_NEIGHBOUR] => Array
  136. (
  137. [x] => 40
  138. [y] => 23
  139. )
  140. [IMG_WEIGHTED4] => Array
  141. (
  142. [x] => 40
  143. [y] => 23
  144. )
  145. [IMG_TRIANGLE] => Array
  146. (
  147. [x] => 40
  148. [y] => 23
  149. )
  150. )