Merge branch 'PHP-5.6' into PHP-7.0

This commit is contained in:
Christoph M. Becker 2016-06-20 15:20:58 +02:00
commit 5cc924e5c2
10 changed files with 58 additions and 7 deletions

View File

@ -2715,6 +2715,19 @@ void gdImageFilledPolygon (gdImagePtr im, gdPointPtr p, int n, int c)
maxy = p[i].y;
}
}
/* necessary special case: horizontal line */
if (n > 1 && miny == maxy) {
x1 = x2 = p[0].x;
for (i = 1; (i < n); i++) {
if (p[i].x < x1) {
x1 = p[i].x;
} else if (p[i].x > x2) {
x2 = p[i].x;
}
}
gdImageLine(im, x1, miny, x2, miny, c);
return;
}
pmaxy = maxy;
/* 2.0.16: Optimization by Ilia Chipitsine -- don't waste time offscreen */
if (miny < 0) {

View File

@ -0,0 +1,38 @@
--TEST--
Bug #64641 (imagefilledpolygon doesn't draw horizontal line)
--SKIPIF--
<?php
if (!extension_loaded('gd')) die("skip gd extension not available\n");
?>
--FILE--
<?php
require_once __DIR__ . '/similarity.inc';
$im = imagecreatetruecolor(640, 480);
$points = array(
100, 100,
100, 200,
100, 300
);
imagefilledpolygon($im, $points, 3, 0xFFFF00);
$points = array(
300, 200,
400, 200,
500, 200
);
imagefilledpolygon($im, $points, 3, 0xFFFF00);
$ex = imagecreatefrompng(__DIR__ . '/bug64641.png');
if (($diss = calc_image_dissimilarity($ex, $im)) < 1e-5) {
echo "IDENTICAL";
} else {
echo "DISSIMILARITY: $diss";
}
imagedestroy($ex);
imagedestroy($im);
?>
--EXPECT--
IDENTICAL

BIN
ext/gd/tests/bug64641.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -26,5 +26,5 @@ var_dump(md5(base64_encode($imgsrc)));
var_dump($corA);
?>
--EXPECT--
string(32) "b856a0b1a15efe0f79551ebbb5651fe8"
string(32) "2a6424e4cb4e1b7391dfff74bf136bde"
int(842163455)

View File

@ -25,4 +25,4 @@ ob_end_clean();
echo md5(base64_encode($img));
?>
--EXPECT--
894f394c7f2e2364642ef27fea6bfc33
beffeaf5231adaaff1f21a2108fb6f7e

View File

@ -25,4 +25,4 @@ ob_end_clean();
echo md5(base64_encode($img));
?>
--EXPECT--
b77bbb8207e5adbebfcc8bd1c4074305
b467492b806001c3720b3f18cfbde5b0

View File

@ -25,4 +25,4 @@ ob_end_clean();
echo md5(base64_encode($img));
?>
--EXPECT--
b8b572812b3c85678f6c38c4ecca7619
cfad369fc6d863785d3c95b4b4788225

View File

@ -29,4 +29,4 @@ if ($gamma){
echo md5(base64_encode($img));
?>
--EXPECT--
30639772903913594bc665743e1b9ab8
e79553115df689ea5df18a4636380569

View File

@ -29,4 +29,4 @@ if ($gamma){
echo md5(base64_encode($img));
?>
--EXPECT--
7716c0905ae08bd84b4d6cba8969a42e
b017b1ddc8bda00e82aa8cbfb54c35d4

View File

@ -28,4 +28,4 @@ echo md5(base64_encode($img));
?>
--EXPECT--
bool(true)
0843f63ab2f9fddedd69b0b421686bc5
1d41787ff70aa0c7eea5ee9304afa36b