Annotation of embedaddon/php/ext/gd/tests/copyresized.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: imagecopyresized
3: --SKIPIF--
4: <?php
5: if (!function_exists('imagecopyresized')) die("skip gd extension not available\n");
6: ?>
7: --FILE--
8: <?php
9:
10: function get_hexcolor($im, $c) {
11: if (imageistruecolor($im)) {
12: return $c;
13: }
14: $colors = imagecolorsforindex($im, $c);
15: return ($colors['red'] << 16) + ($colors['green'] << 8) + ($colors['blue']);
16: }
17:
18: function check_doublesize($dst) {
19: $im = imagecreatetruecolor(38,38);
20: imagefill($im,0,0, 0xffffff);
21: imagefilledrectangle($im, 0,0,9,9, 0xff0000);
22: imagefilledrectangle($im, 0,28,9,37, 0xff0000);
23: imagefilledrectangle($im, 28,0,37,9, 0xff0000);
24: imagefilledrectangle($im, 28,28,37,37, 0xff0000);
25: imagefilledrectangle($im, 14,14,23,23, 0xff0000);
26:
27: for ($x = 0; $x < 38; $x++) {
28: for ($y = 0; $y < 38; $y++) {
29: $p1 = imagecolorat($im, $x, $y);
30: $p2 = imagecolorat($dst, $x, $y);
31: if (get_hexcolor($im, $p1) != get_hexcolor($dst, $p2)) {
32: return false;
33: }
34: }
35: }
36: return true;
37: }
38:
39: $src_tc = imagecreatetruecolor(19,19);
40: imagefill($src_tc, 0,0, 0xffffff);
41: imagefilledrectangle($src_tc, 0,0,4,4, 0xff0000);
42: imagefilledrectangle($src_tc, 14,0,18,4, 0xff0000);
43: imagefilledrectangle($src_tc, 0,14,4,18, 0xff0000);
44: imagefilledrectangle($src_tc, 14,14,18,18, 0xff0000);
45: imagefilledrectangle($src_tc, 7,7,11,11, 0xff0000);
46:
47: $dst_tc = imagecreatetruecolor(38,38);
48: imagecopyresized($dst_tc, $src_tc, 0,0, 0,0, imagesx($dst_tc), imagesy($dst_tc), 19,19);
49:
50: if (!check_doublesize($dst_tc)) exit("1 failed\n");
51: echo "TC->TC: ok\n";
52:
53: $src_tc = imagecreate(19,19);
54: $white = imagecolorallocate($src_tc, 255,255,255);
55: $red = imagecolorallocate($src_tc, 255,0,0);
56:
57: imagefilledrectangle($src_tc, 0,0,4,4, $red);
58: imagefilledrectangle($src_tc, 14,0,18,4, $red);
59: imagefilledrectangle($src_tc, 0,14,4,18, $red);
60: imagefilledrectangle($src_tc, 14,14,18,18, $red);
61: imagefilledrectangle($src_tc, 7,7,11,11, $red);
62:
63: $dst_tc = imagecreatetruecolor(38,38);
64: imagecopyresized($dst_tc, $src_tc, 0,0, 0,0, imagesx($dst_tc), imagesy($dst_tc), 19,19);
65:
66: if (!check_doublesize($dst_tc)) exit("2 failed\n");
67: echo "P->TC: ok\n";
68:
69: $src_tc = imagecreate(19,19);
70: $white = imagecolorallocate($src_tc, 255,255,255);
71: $red = imagecolorallocate($src_tc, 255,0,0);
72:
73: imagefilledrectangle($src_tc, 0,0,4,4, $red);
74: imagefilledrectangle($src_tc, 14,0,18,4, $red);
75: imagefilledrectangle($src_tc, 0,14,4,18, $red);
76: imagefilledrectangle($src_tc, 14,14,18,18, $red);
77: imagefilledrectangle($src_tc, 7,7,11,11, $red);
78:
79: $dst_tc = imagecreate(38,38);
80: $white = imagecolorallocate($src_tc, 255,255,255);
81: $red = imagecolorallocate($src_tc, 255,0,0);
82:
83: imagecopyresized($dst_tc, $src_tc, 0,0, 0,0, imagesx($dst_tc), imagesy($dst_tc), 19,19);
84:
85: if (!check_doublesize($dst_tc)) exit("3 failed\n");
86: echo "P->P: ok\n";
87: ?>
88: --EXPECTF--
89: TC->TC: ok
90: P->TC: ok
91: P->P: ok
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>