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>