xref: /PHP-8.2/ext/gd/tests/imagefilter.phpt (revision 0b8466f2)
1--TEST--
2imagefilter() function test
3--EXTENSIONS--
4gd
5--SKIPIF--
6<?php
7    if (!function_exists("imagefilter")) die("skip requires imagefilter function");
8    if (!(imagetypes() & IMG_PNG)) {
9        die("skip No PNG support");
10    }
11?>
12--FILE--
13<?php
14$no_arg_filters = array(
15    "IMG_FILTER_NEGATE",
16    "IMG_FILTER_GRAYSCALE",
17    "IMG_FILTER_EDGEDETECT",
18    "IMG_FILTER_GAUSSIAN_BLUR",
19    "IMG_FILTER_SELECTIVE_BLUR",
20    "IMG_FILTER_EMBOSS",
21    "IMG_FILTER_MEAN_REMOVAL"
22);
23
24$SAVE_DIR = __DIR__;
25$SOURCE_IMG = $SAVE_DIR . "/test.png";
26
27    foreach ($no_arg_filters as $filt) {
28        $im = imagecreatefrompng($SOURCE_IMG);
29        if (imagefilter($im, constant($filt))) {
30            imagepng($im, $SAVE_DIR."/".$filt. ".png");
31            echo "$filt success\n";
32            @unlink($SAVE_DIR."/".$filt. ".png");
33        } else {
34            echo "$filt failed\n";
35        }
36    }
37
38    $im = imagecreatefrompng($SOURCE_IMG);
39
40    if (imagefilter($im, IMG_FILTER_SMOOTH, -1924.124)) {
41        imagepng($im, $SAVE_DIR . "/IMG_FILTER_SMOOTH.png");
42        echo "IMG_FILTER_SMOOTH success\n";
43        @unlink($SAVE_DIR . "/IMG_FILTER_SMOOTH.png");
44    } else {
45        echo "IMG_FILTER_SMOOTH failed\n";
46    }
47
48    $im = imagecreatefrompng($SOURCE_IMG);
49
50    if (imagefilter($im, IMG_FILTER_COLORIZE, -127, -127, 127)) {
51        imagepng($im, $SAVE_DIR . "/IMG_FILTER_COLORIZE.png");
52        echo "IMG_FILTER_COLORIZE success\n";
53        unlink($SAVE_DIR . "/IMG_FILTER_COLORIZE.png");
54    } else {
55        echo "IMG_FILTER_COLORIZE failed\n";
56    }
57
58    $im = imagecreatefrompng($SOURCE_IMG);
59
60    if (imagefilter($im, IMG_FILTER_CONTRAST, -90)) {
61        imagepng($im, $SAVE_DIR . "/IMG_FILTER_CONTRAST.png");
62        echo "IMG_FILTER_CONTRAST success\n";
63        unlink($SAVE_DIR . "/IMG_FILTER_CONTRAST.png");
64    } else {
65        echo "IMG_FILTER_CONTRAST failed\n";
66    }
67
68    $im = imagecreatefrompng($SOURCE_IMG);
69
70    if (imagefilter($im, IMG_FILTER_BRIGHTNESS, 98)) {
71        imagepng($im, $SAVE_DIR . "/IMG_FILTER_BRIGHTNESS.png");
72        echo "IMG_FILTER_BRIGHTNESS success\n";
73        unlink($SAVE_DIR . "/IMG_FILTER_BRIGHTNESS.png");
74    } else {
75        echo "IMG_FILTER_BRIGHTNESS failed\n";
76    }
77
78    $im = imagecreatefrompng($SOURCE_IMG);
79
80    if (imagefilter($im, IMG_FILTER_PIXELATE, 5, true)) {
81        imagepng($im, $SAVE_DIR . "/IMG_FILTER_PIXELATE.png");
82        echo "IMG_FILTER_PIXELATE success\n";
83        unlink($SAVE_DIR . "/IMG_FILTER_PIXELATE.png");
84    } else {
85        echo "IMG_FILTER_PIXELATE failed\n";
86    }
87
88    $im = imagecreatefrompng($SOURCE_IMG);
89
90    if (imagefilter($im, IMG_FILTER_SCATTER, 3, 5)) {
91        imagepng($im, $SAVE_DIR . "/IMG_FILTER_SCATTER.png");
92        echo "IMG_FILTER_SCATTER success\n";
93        unlink($SAVE_DIR . "/IMG_FILTER_SCATTER.png");
94    } else {
95        echo "IMG_FILTER_SCATTER failed\n";
96    }
97?>
98--EXPECT--
99IMG_FILTER_NEGATE success
100IMG_FILTER_GRAYSCALE success
101IMG_FILTER_EDGEDETECT success
102IMG_FILTER_GAUSSIAN_BLUR success
103IMG_FILTER_SELECTIVE_BLUR success
104IMG_FILTER_EMBOSS success
105IMG_FILTER_MEAN_REMOVAL success
106IMG_FILTER_SMOOTH success
107IMG_FILTER_COLORIZE success
108IMG_FILTER_CONTRAST success
109IMG_FILTER_BRIGHTNESS success
110IMG_FILTER_PIXELATE success
111IMG_FILTER_SCATTER success
112