ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
PHP颜色或图像填充及不同填充方式,先来熟悉几个函数: 1、imagefill($image, $x, $y, $color): 本函数将图片坐标 (x,y) 所在的区域着色。参数 $color 表示欲涂上的颜色。 2、imagecolorallocate($image, $red, $green, $blue): 本函数用户图像着色,后面三个参数分别代表红、绿、蓝三原色是色值。 3、imagefilltoborder($image, $x, $y, $border, $color): 本函数将图片中指定的颜色做为边界,着色在其中的封闭区域之中。参数 x、y 为着色区内的坐标,原点 (0,0) 为图形的左上角。参数 border 为颜色值,表填入颜色的边界范围。参数 col 表示欲涂上的颜色。 简单的说就是,给某一块画布的除$x、$y之外的其他区域着色。 4、imagecolorat($image, $x, $y): 本函数可取得图形中某指定点的颜色索引值 (index)。 5、imagecopy($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h): 将 src_im 图像中坐标从 src_x,src_y 开始,宽度为 src_w,高度为 src_h 的一部分拷贝到 dst_im 图像中坐标为 dst_x 和 dst_y 的位置上。 6、imagecolorsforindex($image, $index): 本函数返回一个具有 red,green,blue 和 alpha 的键名的关联数组,包含了指定颜色索引的相应的值。意思就是:imagecolorat()函数取得的10进制索引颜色值$index,通过这个函数,可以返回一个包括red、green、blue、alpha键名的关联数组。相当于把十进制的色值转换成十六进制的色值,方便使用! $img = imagecreatefromjpeg('test.jpg'); $indexColor = imagecolorat($img, 20, 20); $index = imagecolorsforindex($img, $indexColor); $red = $index['red']; $green = $index['green']; $blue = $index['blue']; $img1 = imagecreatetruecolor(100, 100); $color = imagecolorallocate($img1, $red, $green, $blue); imagefill($img1, 0, 0, $color); header('Content-type:image/jpeg'); imagejpeg($img1); 实例代码如下: $img = imagecreatetruecolor(300, 300); $red = imagecolorallocate($img, 255, 0, 0); $alpha_color = imagecolorallocatealpha($img, 110, 20, 121, 100); imagefill($img, 0, 0, $alpha_color); $png = imagecreatefrompng('daiwang.png'); imagecopy($png, $img, 0, 0, 100, 100, 300, 300); header('Content-type:image/jpeg'); imagejpeg($png); 以上是除$border之外的区域着色。