A picture is worth a thousand message digests
The bundled GD test suites makes heavy use of md5() to verify the result
of drawing operations. This leads to fragile tests (even a slight change
in a PNG header would cause failure, and of course there is the
possibility of collisions), and even worse, eventual test failures are
rather unrevealing.
Therefore we replace all md5() verification with a simplistic
test_image_equals_file(), which is basically a simplified port of libgd's
gdTestImageCompareToFile(), adapted to the needs of PHPTs.
In the long run better tests helpers should be introduced (see also
<http://news.php.net/php.internals/94081>), but for now this solution
is preferable over the former.
(cherry picked from commit 24f9e96792
)
1
.gitignore
vendored
@ -135,6 +135,7 @@ tests/*/*.sh
|
||||
*/tests/*/*.sh
|
||||
*/*/tests/*.diff
|
||||
*/*/tests/*.out
|
||||
*/*/tests/*.out.png
|
||||
*/*/tests/*.php
|
||||
*/*/tests/*.exp
|
||||
*/*/tests/*.log
|
||||
|
@ -8,16 +8,13 @@ Bug #22544 (TrueColor transparency in PNG images).
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
$dest = dirname(realpath(__FILE__)) . '/bug22544.png';
|
||||
@unlink($dest);
|
||||
$image = imageCreateTruecolor(640, 100);
|
||||
$transparent = imageColorAllocate($image, 0, 0, 0);
|
||||
$red = imageColorAllocate($image, 255, 50, 50);
|
||||
imageColorTransparent($image, $transparent);
|
||||
imageFilledRectangle($image, 0, 0, 640-1, 100-1, $transparent);
|
||||
imagegd($image, $dest);
|
||||
echo md5_file($dest) . "\n";
|
||||
@unlink($dest);
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/bug22544.png', $image);
|
||||
?>
|
||||
--EXPECT--
|
||||
7643ef115f642a79c2de6e411f485ddd
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/bug22544.png
Normal file
After Width: | Height: | Size: 284 B |
@ -17,10 +17,10 @@ imagefilledrectangle($im, 0,0, 99,99, $transparent);
|
||||
$color = imagecolorallocatealpha($im, 0, 255, 0, 100);
|
||||
imagefilledarc($im, 49, 49, 99,99, 0 , 360, $color, IMG_ARC_PIE);
|
||||
|
||||
ob_start();
|
||||
imagegd($im);
|
||||
echo md5(ob_get_clean());
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/bug43828.png', $im);
|
||||
|
||||
imagedestroy($im);
|
||||
?>
|
||||
--EXPECT--
|
||||
2400a58cd7570b5472c25264715321cd
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/bug43828.png
Normal file
After Width: | Height: | Size: 656 B |
@ -25,11 +25,10 @@ imagecopy($dest, $png_palette, 0, 0, 0, 0, 50, 50);
|
||||
imagecopy($dest, $png_24, 50, 0, 0, 0, 50, 50);
|
||||
imagecopy($dest, $png_full, 100, 0, 0, 0, 50, 50);
|
||||
|
||||
ob_start();
|
||||
imagegd($dest);
|
||||
echo md5(ob_get_clean()), PHP_EOL;
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/bug66005.png', $dest);
|
||||
?>
|
||||
==DONE==
|
||||
--EXPECT--
|
||||
9b36049de01006b367efd433f1689043
|
||||
The images are equal.
|
||||
==DONE==
|
||||
|
BIN
ext/gd/tests/bug66005.png
Normal file
After Width: | Height: | Size: 430 B |
@ -10,10 +10,9 @@ if (!(imagetypes() & IMG_PNG)) die('skip requires PNG support');
|
||||
$im = imagecreatetruecolor(100, 100);
|
||||
imagesetthickness($im, 5);
|
||||
imagearc($im, 50, 50, 90, 90, 0, 360, 0xffffff);
|
||||
ob_start();
|
||||
imagegd($im);
|
||||
$imagestring = ob_get_clean();
|
||||
echo md5($imagestring);
|
||||
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/bug72604.png', $im);
|
||||
?>
|
||||
--EXPECT--
|
||||
4f5080080a774efe4fc8d55cd4a5849c
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/bug72604.png
Normal file
After Width: | Height: | Size: 700 B |
@ -19,11 +19,10 @@ imagesavealpha($dst, true);
|
||||
|
||||
imagecopy($dst, $src, 0,0, 0,0, 50,50);
|
||||
|
||||
ob_start();
|
||||
imagegd($dst);
|
||||
echo md5(ob_get_clean()), PHP_EOL;
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/bug72913.png', $dst);
|
||||
?>
|
||||
==DONE==
|
||||
--EXPECT--
|
||||
f03c27f20710e21debd7090c660f1a1e
|
||||
The images are equal.
|
||||
==DONE==
|
||||
|
BIN
ext/gd/tests/bug72913.png
Normal file
After Width: | Height: | Size: 147 B |
@ -59,3 +59,71 @@ function get_libxpm_version()
|
||||
return $version;
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that an in-memory image equals a PNG file.
|
||||
*
|
||||
* It checks for equal image sizes, and whether any pixels are different.
|
||||
* The textual result is printed, so the EXPECT section should contain the line
|
||||
* "The images are equal."
|
||||
*
|
||||
* If the PNG file does not exists, or the images are not equal, a diagnostic
|
||||
* message is printed, and the actual file is stored right beside the temporary
|
||||
* .php test file with the extension .out.png, to be able to manually inspect
|
||||
* the result.
|
||||
*
|
||||
* @param string $filename
|
||||
* @param resource $actual
|
||||
* @return void
|
||||
*/
|
||||
function test_image_equals_file($filename, $actual)
|
||||
{
|
||||
if (!file_exists($filename)) {
|
||||
echo "The expected image does not exist.\n";
|
||||
save_actual_image($actual);
|
||||
return;
|
||||
}
|
||||
$expected = imagecreatefrompng($filename);
|
||||
$exp_x = imagesx($expected);
|
||||
$exp_y = imagesy($expected);
|
||||
$act_x = imagesx($actual);
|
||||
$act_y = imagesy($actual);
|
||||
if ($exp_x != $act_x || $exp_y != $act_y) {
|
||||
echo "The image size differs: expected {$exp_x}x{$exp_y}, got {$act_x}x{$act_y}.\n";
|
||||
save_actual_image($actual);
|
||||
imagedestroy($expected);
|
||||
return;
|
||||
}
|
||||
$pixels_changed = 0;
|
||||
for ($y = 0; $y < $exp_y; $y++) {
|
||||
for ($x = 0; $x < $exp_x; $x ++) {
|
||||
$exp_c = imagecolorat($expected, $x, $y);
|
||||
$act_c = imagecolorat($actual, $x, $y);
|
||||
if ($exp_c != $act_c) {
|
||||
$pixels_changed++;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!$pixels_changed) {
|
||||
echo "The images are equal.\n";
|
||||
} else {
|
||||
echo "The images differ in {$pixels_changed} pixels.\n";
|
||||
save_actual_image($actual);
|
||||
}
|
||||
imagedestroy($expected);
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves an actual image to disk.
|
||||
*
|
||||
* The image is saved right beside the temporary .php test file with the
|
||||
* extension .out.png.
|
||||
*
|
||||
* @param resource $image
|
||||
* @return void
|
||||
*/
|
||||
function save_actual_image($image)
|
||||
{
|
||||
$pathinfo = pathinfo($_SERVER['SCRIPT_FILENAME']);
|
||||
$filename = "{$pathinfo['dirname']}/{$pathinfo['filename']}.out.png";
|
||||
imagepng($image, $filename);
|
||||
}
|
||||
|
@ -17,12 +17,8 @@ $white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
|
||||
//create an arc with white color
|
||||
imagearc($image, 50, 50, 30, 30, 0, 180, $white);
|
||||
|
||||
ob_start();
|
||||
imagegd($image);
|
||||
$img = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
echo md5(base64_encode($img));
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/imagearc_basic.png', $image);
|
||||
?>
|
||||
--EXPECT--
|
||||
13149c3fd54a92a0d43cd5083a19b1d7
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/imagearc_basic.png
Normal file
After Width: | Height: | Size: 216 B |
@ -17,13 +17,9 @@ $white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
|
||||
//create an arc with white color
|
||||
imagearc($image, 50, 50, 30, 30, 0, 180);
|
||||
|
||||
ob_start();
|
||||
imagegd($image);
|
||||
$img = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
echo md5(base64_encode($img));
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/imagearc_error1.png', $image);
|
||||
?>
|
||||
--EXPECTF--
|
||||
Warning: imagearc() expects exactly 8 parameters, 7 given in %s on line %d
|
||||
c5b7013900f5466aebfc42499a7ec8ec
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/imagearc_error1.png
Normal file
After Width: | Height: | Size: 109 B |
@ -17,12 +17,8 @@ $white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
|
||||
//create an arc with white color
|
||||
imagearc($image, 50, 50, 30, 30, 0, -90, $white);
|
||||
|
||||
ob_start();
|
||||
imagegd($image);
|
||||
$img = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
echo md5(base64_encode($img));
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/imagearc_variation1.png', $image);
|
||||
?>
|
||||
--EXPECT--
|
||||
fe662ebe7488057c43e38c5de43b1727
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/imagearc_variation1.png
Normal file
After Width: | Height: | Size: 272 B |
@ -17,12 +17,8 @@ $white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
|
||||
//create an arc with white color
|
||||
imagearc($image, 50, 50, 30, 30, -90, 0, $white);
|
||||
|
||||
ob_start();
|
||||
imagegd($image);
|
||||
$img = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
echo md5(base64_encode($img));
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/imagearc_variation2.png', $image);
|
||||
?>
|
||||
--EXPECT--
|
||||
8bd78aa775b5f29e7227eaeebaa84889
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/imagearc_variation2.png
Normal file
After Width: | Height: | Size: 186 B |
@ -14,12 +14,8 @@ $white = imagecolorallocate($image, 255,255,255);
|
||||
|
||||
$result = imagechar($image, 1, 5, 5, 'C', $white);
|
||||
|
||||
ob_start();
|
||||
imagegd($image);
|
||||
$img = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
echo md5(base64_encode($img));
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/imagechar_basic.png', $image);
|
||||
?>
|
||||
--EXPECT--
|
||||
f0291252e7ac2fadda25e63287e6860c
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/imagechar_basic.png
Normal file
After Width: | Height: | Size: 128 B |
@ -14,12 +14,8 @@ $white = imagecolorallocate($image, 255,255,255);
|
||||
|
||||
$result = imagecharup($image, 1, 5, 5, 'C', $white);
|
||||
|
||||
ob_start();
|
||||
imagegd($image);
|
||||
$img = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
echo md5(base64_encode($img));
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/imagecharup_basic.png', $image);
|
||||
?>
|
||||
--EXPECT--
|
||||
c65aad5d78f934dee2a844e7978eabd5
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/imagecharup_basic.png
Normal file
After Width: | Height: | Size: 129 B |
@ -20,14 +20,10 @@ $corA = imagecolorallocatealpha($img, 50, 100, 255, 50);
|
||||
$half = imagefilledarc ( $img, 75, 75, 70, 70, 0, 180, $cor, IMG_ARC_PIE );
|
||||
$half2 = imagefilledarc ( $img, 75, 75, 70, 70, 180, 360, $corA, IMG_ARC_PIE );
|
||||
|
||||
ob_start();
|
||||
imagegd($img);
|
||||
$imgsrc = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
var_dump(md5(base64_encode($imgsrc)));
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/imagecolorallocatealpha_basic.png', $img);
|
||||
var_dump($corA);
|
||||
?>
|
||||
--EXPECT--
|
||||
string(32) "0981ef94ee2209a8dccb59aa8ad07e18"
|
||||
The images are equal.
|
||||
int(842163455)
|
BIN
ext/gd/tests/imagecolorallocatealpha_basic.png
Normal file
After Width: | Height: | Size: 565 B |
@ -23,13 +23,9 @@ $bg = imagecolorat($im, 0, 0);
|
||||
// Set the backgrund to be blue
|
||||
imagecolorset($im, $bg, 0, 0, 255);
|
||||
|
||||
// Get output and generate md5 hash
|
||||
ob_start();
|
||||
imagegd($im);
|
||||
$result_image = ob_get_contents();
|
||||
ob_end_clean();
|
||||
echo md5(base64_encode($result_image));
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/imagecolorset_basic.png', $im);
|
||||
imagedestroy($im);
|
||||
?>
|
||||
--EXPECT--
|
||||
85e406abd0a975c97b3403cad5d078c9
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/imagecolorset_basic.png
Normal file
After Width: | Height: | Size: 99 B |
@ -22,12 +22,8 @@ $gaussian = array(
|
||||
|
||||
imageconvolution($image, $gaussian, 16, 0);
|
||||
|
||||
ob_start();
|
||||
imagegd($image);
|
||||
$img = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
echo md5(base64_encode($img));
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/imageconvolution_basic.png', $image);
|
||||
?>
|
||||
--EXPECT--
|
||||
20979b45f8772cdbd78262af4e332638
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/imageconvolution_basic.png
Normal file
After Width: | Height: | Size: 978 B |
@ -11,12 +11,8 @@ Rafael Dohms <rdohms [at] gmail [dot] com>
|
||||
<?php
|
||||
$image = imagecreatetruecolor(180, 30);
|
||||
|
||||
ob_start();
|
||||
imagegd($image);
|
||||
$img = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
echo md5(base64_encode($img));
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/imagecreatetruecolor_basic.png', $image);
|
||||
?>
|
||||
--EXPECT--
|
||||
da884f488a851e0267a316ad232aee86
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/imagecreatetruecolor_basic.png
Normal file
After Width: | Height: | Size: 95 B |
@ -16,12 +16,8 @@ $image = imagecreatetruecolor(400, 300);
|
||||
// Draw a white ellipse
|
||||
imageellipse($image, 200, 150, 300, 200, 16777215);
|
||||
|
||||
ob_start();
|
||||
imagegd($image);
|
||||
$img = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
echo md5(base64_encode($img));
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/imageellipse_basic.png', $image);
|
||||
?>
|
||||
--EXPECT--
|
||||
49c1544b012c3460c74cd04f1332d4ad
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/imageellipse_basic.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
@ -20,12 +20,8 @@ $white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
|
||||
//create an arc and fill it with white color
|
||||
imagefilledarc($image, 50, 50, 30, 30, 0, 90, $white, IMG_ARC_PIE);
|
||||
|
||||
ob_start();
|
||||
imagegd($image);
|
||||
$img = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
echo md5(base64_encode($img));
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/imagefilledarc_basic.png', $image);
|
||||
?>
|
||||
--EXPECT--
|
||||
87637c60ac0ceea48dbcaa4d98319f90
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/imagefilledarc_basic.png
Normal file
After Width: | Height: | Size: 200 B |
@ -17,13 +17,9 @@ $white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
|
||||
//create an arc and fill it with white color
|
||||
imagefilledarc($image, 50, 50, 30, 30, 0, 90, $white);
|
||||
|
||||
ob_start();
|
||||
imagegd($image);
|
||||
$img = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
echo md5(base64_encode($img));
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/imagefilledarc_error1.png', $image);
|
||||
?>
|
||||
--EXPECTF--
|
||||
Warning: imagefilledarc() expects exactly 9 parameters, 8 given in %s on line %d
|
||||
c5b7013900f5466aebfc42499a7ec8ec
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/imagefilledarc_error1.png
Normal file
After Width: | Height: | Size: 109 B |
@ -20,12 +20,8 @@ $white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
|
||||
//create an arc and fill it with white color
|
||||
imagefilledarc($image, 50, 50, 30, 30, 0, -25, $white, IMG_ARC_PIE);
|
||||
|
||||
ob_start();
|
||||
imagegd($image);
|
||||
$img = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
echo md5(base64_encode($img));
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/imagefilledarc_variation1.png', $image);
|
||||
?>
|
||||
--EXPECT--
|
||||
f25f589b5c5fa7deead7242652919bcf
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/imagefilledarc_variation1.png
Normal file
After Width: | Height: | Size: 281 B |
@ -20,12 +20,8 @@ $white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
|
||||
//create an arc and fill it with white color
|
||||
imagefilledarc($image, 50, 50, 30, 30, -25, 25, $white, IMG_ARC_PIE);
|
||||
|
||||
ob_start();
|
||||
imagegd($image);
|
||||
$img = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
echo md5(base64_encode($img));
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/imagefilledarc_variation2.png', $image);
|
||||
?>
|
||||
--EXPECT--
|
||||
43c2973eb4872903eb6f5464c7965a93
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/imagefilledarc_variation2.png
Normal file
After Width: | Height: | Size: 197 B |
@ -14,12 +14,8 @@ $white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
|
||||
//create an ellipse and fill it with white color
|
||||
imagefilledellipse($image, 50, 50, 40, 30, $white);
|
||||
|
||||
ob_start();
|
||||
imagegd($image);
|
||||
$img = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
echo md5(base64_encode($img));
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/imagefilledellipse_basic.png', $image);
|
||||
?>
|
||||
--EXPECT--
|
||||
233beffe003a41d3c9e788039e3191dd
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/imagefilledellipse_basic.png
Normal file
After Width: | Height: | Size: 274 B |
@ -21,13 +21,9 @@ imageellipse( $image, 50, 50, 50, 50, imagecolorallocate( $image, 0, 0, 0 ) );
|
||||
// Fill border
|
||||
imagefilltoborder( $image, 50, 50, imagecolorallocate( $image, 0, 0, 0 ), imagecolorallocate( $image, 255, 0, 0 ) );
|
||||
|
||||
ob_start();
|
||||
imagegd( $image);
|
||||
$img = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
echo md5(base64_encode($img));
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/imagefilltoborder_basic.png', $image);
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
8185a06ccff03c2abeb99d5e3ed60e45
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/imagefilltoborder_basic.png
Normal file
After Width: | Height: | Size: 530 B |
@ -21,15 +21,11 @@ $half = imagefilledarc ( $image, 75, 75, 70, 70, 0, 180, $grey, IMG_ARC_PIE );
|
||||
$half2 = imagefilledarc ( $image, 75, 75, 70, 70, 0, -180, $gray, IMG_ARC_PIE );
|
||||
|
||||
$gamma = imagegammacorrect($image, 1, 5);
|
||||
var_dump((bool) $gamma);
|
||||
|
||||
if ($gamma){
|
||||
ob_start();
|
||||
imagegd($image);
|
||||
$img = ob_get_contents();
|
||||
ob_end_clean();
|
||||
}
|
||||
|
||||
echo md5(base64_encode($img));
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/imagegammacorrect_basic.png', $image);
|
||||
?>
|
||||
--EXPECT--
|
||||
1f625723f9d27251a1f15b83a6a4bf55
|
||||
bool(true)
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/imagegammacorrect_basic.png
Normal file
After Width: | Height: | Size: 363 B |
@ -21,15 +21,11 @@ $half = imagefilledarc ( $image, 75, 75, 70, 70, 0, 180, $grey, IMG_ARC_PIE );
|
||||
$half2 = imagefilledarc ( $image, 75, 75, 70, 70, 0, -180, $gray, IMG_ARC_PIE );
|
||||
|
||||
$gamma = imagegammacorrect($image, 1, 5);
|
||||
var_dump((bool) $gamma);
|
||||
|
||||
if ($gamma){
|
||||
ob_start();
|
||||
imagegd($image);
|
||||
$img = ob_get_contents();
|
||||
ob_end_clean();
|
||||
}
|
||||
|
||||
echo md5(base64_encode($img));
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/imagegammacorrect_variation1.png', $image);
|
||||
?>
|
||||
--EXPECT--
|
||||
32fdb7b3675e4a9fd601c6a0645c88b3
|
||||
bool(true)
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/imagegammacorrect_variation1.png
Normal file
After Width: | Height: | Size: 199 B |
@ -13,15 +13,11 @@ Rafael Dohms <rdohms [at] gmail [dot] com>
|
||||
$image = imagecreatetruecolor(180, 30);
|
||||
|
||||
$layer = imagelayereffect($image, IMG_EFFECT_REPLACE);
|
||||
var_dump((bool) $layer);
|
||||
|
||||
if ($layer){
|
||||
ob_start();
|
||||
imagegd($image);
|
||||
$img = ob_get_contents();
|
||||
ob_end_clean();
|
||||
}
|
||||
|
||||
echo md5(base64_encode($img));
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/imagelayereffect_basic.png', $image);
|
||||
?>
|
||||
--EXPECT--
|
||||
da884f488a851e0267a316ad232aee86
|
||||
bool(true)
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/imagelayereffect_basic.png
Normal file
After Width: | Height: | Size: 95 B |
@ -15,13 +15,8 @@ $image = imagecreatetruecolor( 100, 100 );
|
||||
// Draw a rectangle
|
||||
imagerectangle( $image, 0, 0, 50, 50, imagecolorallocate($image, 255, 255, 255) );
|
||||
|
||||
ob_start();
|
||||
imagegd( $image );
|
||||
$img = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
echo md5(base64_encode($img));
|
||||
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/imagerectangle_basic.png', $image);
|
||||
?>
|
||||
--EXPECT--
|
||||
e7f8ca8c63fb08b248f3ed6435983aed
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/imagerectangle_basic.png
Normal file
After Width: | Height: | Size: 220 B |
@ -26,12 +26,8 @@ imagesetbrush($mainimg, $img);
|
||||
// Draw a couple of brushes, each overlaying each
|
||||
imageline($mainimg, 50, 50, 50, 60, IMG_COLOR_BRUSHED);
|
||||
|
||||
// Get output and generate md5 hash
|
||||
ob_start();
|
||||
imagegd($mainimg);
|
||||
$result_image = ob_get_contents();
|
||||
ob_end_clean();
|
||||
echo md5(base64_encode($result_image));
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/imagesetbrush_basic.png', $mainimg);
|
||||
?>
|
||||
--EXPECT--
|
||||
2bb294c388d826cc9bba6c6fd31f265a
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/imagesetbrush_basic.png
Normal file
After Width: | Height: | Size: 161 B |
@ -23,12 +23,8 @@ imagesetthickness($image, 5);
|
||||
// Draw the rectangle
|
||||
imagerectangle($image, 14, 14, 185, 85, $black);
|
||||
|
||||
ob_start();
|
||||
imagegd($image);
|
||||
$img = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
echo md5(base64_encode($img));
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/imagesetthickness_basic.png', $image);
|
||||
?>
|
||||
--EXPECT--
|
||||
1a6bc882772310d2e9b32cca2574236c
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/imagesetthickness_basic.png
Normal file
After Width: | Height: | Size: 377 B |
@ -14,12 +14,8 @@ $white = imagecolorallocate($image, 255,255,255);
|
||||
|
||||
$result = imagestring($image, 1, 5, 5, 'String Text', $white);
|
||||
|
||||
ob_start();
|
||||
imagegd($image);
|
||||
$img = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
echo md5(base64_encode($img));
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/imagestring_basic.png', $image);
|
||||
?>
|
||||
--EXPECT--
|
||||
7f146e3cdcaf89c6b9d68ccbb44cf94e
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/imagestring_basic.png
Normal file
After Width: | Height: | Size: 234 B |
@ -14,12 +14,8 @@ $white = imagecolorallocate($image, 255,255,255);
|
||||
|
||||
$result = imagestringup($image, 1, 5, 25, 'Str', $white);
|
||||
|
||||
ob_start();
|
||||
imagegd($image);
|
||||
$img = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
echo md5(base64_encode($img));
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/imagestringup_basic.png', $image);
|
||||
?>
|
||||
--EXPECT--
|
||||
7c55836800702bdd43b4c25d8ebcfcd0
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/imagestringup_basic.png
Normal file
After Width: | Height: | Size: 163 B |
@ -22,13 +22,9 @@ $half2 = imagefilledarc ( $image, 75, 55, 80, 70, 0, -180, $b, IMG_ARC_PIE );
|
||||
|
||||
var_dump(imagetruecolortopalette($image, true, 2));
|
||||
|
||||
ob_start();
|
||||
imagegd($image);
|
||||
$img = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
echo md5(base64_encode($img));
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/imagetruecolortopalette_basic.png', $image);
|
||||
?>
|
||||
--EXPECT--
|
||||
bool(true)
|
||||
17c901cb2217eb7647deed1c79d445de
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/imagetruecolortopalette_basic.png
Normal file
After Width: | Height: | Size: 208 B |
@ -106,14 +106,10 @@ $points = array(
|
||||
);
|
||||
imagefilledpolygon($im, $points, 5, $black);
|
||||
|
||||
ob_start();
|
||||
imagegd($im);
|
||||
$png = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
echo md5($png);
|
||||
include_once __DIR__ . '/func.inc';
|
||||
test_image_equals_file(__DIR__ . '/libgd00100.png', $im);
|
||||
|
||||
imagedestroy($im);
|
||||
?>
|
||||
--EXPECTF--
|
||||
df7253c765280396f303166f10ba9283
|
||||
The images are equal.
|
||||
|
BIN
ext/gd/tests/libgd00100.png
Normal file
After Width: | Height: | Size: 2.1 KiB |