File tree 4 files changed +98
-3
lines changed
4 files changed +98
-3
lines changed Original file line number Diff line number Diff line change @@ -21,6 +21,8 @@ PHP NEWS
21
21
- GD:
22
22
. Fixed bug GH-10344 (imagettfbbox(): Could not find/open font UNC path).
23
23
(nielsdos)
24
+ . Fixed bug GH-10614 (imagerotate will turn the picture all black, when
25
+ rotated 90). (nielsdos)
24
26
25
27
- LibXML:
26
28
. Fix crashes with entity references and predefined entities. (nielsdos)
Original file line number Diff line number Diff line change @@ -216,7 +216,7 @@ gdImagePtr gdImageRotate90 (gdImagePtr src, int ignoretransparent)
216
216
if (dst != NULL ) {
217
217
int old_blendmode = dst -> alphaBlendingFlag ;
218
218
dst -> alphaBlendingFlag = 0 ;
219
-
219
+ dst -> saveAlphaFlag = 1 ;
220
220
dst -> transparent = src -> transparent ;
221
221
222
222
gdImagePaletteCopy (dst , src );
@@ -263,7 +263,7 @@ gdImagePtr gdImageRotate180 (gdImagePtr src, int ignoretransparent)
263
263
if (dst != NULL ) {
264
264
int old_blendmode = dst -> alphaBlendingFlag ;
265
265
dst -> alphaBlendingFlag = 0 ;
266
-
266
+ dst -> saveAlphaFlag = 1 ;
267
267
dst -> transparent = src -> transparent ;
268
268
269
269
gdImagePaletteCopy (dst , src );
@@ -311,7 +311,7 @@ gdImagePtr gdImageRotate270 (gdImagePtr src, int ignoretransparent)
311
311
if (dst != NULL ) {
312
312
int old_blendmode = dst -> alphaBlendingFlag ;
313
313
dst -> alphaBlendingFlag = 0 ;
314
-
314
+ dst -> saveAlphaFlag = 1 ;
315
315
dst -> transparent = src -> transparent ;
316
316
317
317
gdImagePaletteCopy (dst , src );
Original file line number Diff line number Diff line change
1
+ --TEST--
2
+ GH-10614 (imagerotate will turn the picture all black, when rotated 90)
3
+ --EXTENSIONS--
4
+ gd
5
+ --SKIPIF--
6
+ <?php
7
+ if (!GD_BUNDLED && version_compare (GD_VERSION , '2.3.4 ' , '>= ' )) die ("skip test requires GD 2.3.4 or older " );
8
+ ?>
9
+ --FILE--
10
+ <?php
11
+
12
+ $ input = imagecreatefrompng (__DIR__ . '/gh10614.png ' );
13
+
14
+ for ($ angle = 0 ; $ angle <= 270 ; $ angle += 90 ) {
15
+ echo "--- Angle $ angle --- \n" ;
16
+ $ output = imagerotate ($ input , $ angle , 0 );
17
+ for ($ i = 0 ; $ i < 4 ; $ i ++) {
18
+ for ($ j = 0 ; $ j < 4 ; $ j ++) {
19
+ var_dump (dechex (imagecolorat ($ output , $ i , $ j )));
20
+ }
21
+ }
22
+ }
23
+
24
+ ?>
25
+ --EXPECT--
26
+ --- Angle 0 ---
27
+ string(1) "0"
28
+ string(1) "0"
29
+ string(1) "0"
30
+ string(1) "0"
31
+ string(1) "0"
32
+ string(1) "0"
33
+ string(1) "0"
34
+ string(1) "0"
35
+ string(8) "7f000000"
36
+ string(8) "7f000000"
37
+ string(8) "7f000000"
38
+ string(8) "7f000000"
39
+ string(8) "7f000000"
40
+ string(8) "7f000000"
41
+ string(8) "7f000000"
42
+ string(8) "7f000000"
43
+ --- Angle 90 ---
44
+ string(8) "7f000000"
45
+ string(8) "7f000000"
46
+ string(1) "0"
47
+ string(1) "0"
48
+ string(8) "7f000000"
49
+ string(8) "7f000000"
50
+ string(1) "0"
51
+ string(1) "0"
52
+ string(8) "7f000000"
53
+ string(8) "7f000000"
54
+ string(1) "0"
55
+ string(1) "0"
56
+ string(8) "7f000000"
57
+ string(8) "7f000000"
58
+ string(1) "0"
59
+ string(1) "0"
60
+ --- Angle 180 ---
61
+ string(8) "7f000000"
62
+ string(8) "7f000000"
63
+ string(8) "7f000000"
64
+ string(8) "7f000000"
65
+ string(8) "7f000000"
66
+ string(8) "7f000000"
67
+ string(8) "7f000000"
68
+ string(8) "7f000000"
69
+ string(1) "0"
70
+ string(1) "0"
71
+ string(1) "0"
72
+ string(1) "0"
73
+ string(1) "0"
74
+ string(1) "0"
75
+ string(1) "0"
76
+ string(1) "0"
77
+ --- Angle 270 ---
78
+ string(1) "0"
79
+ string(1) "0"
80
+ string(8) "7f000000"
81
+ string(8) "7f000000"
82
+ string(1) "0"
83
+ string(1) "0"
84
+ string(8) "7f000000"
85
+ string(8) "7f000000"
86
+ string(1) "0"
87
+ string(1) "0"
88
+ string(8) "7f000000"
89
+ string(8) "7f000000"
90
+ string(1) "0"
91
+ string(1) "0"
92
+ string(8) "7f000000"
93
+ string(8) "7f000000"
You can’t perform that action at this time.
0 commit comments