gpt4 book ai didi

image-processing - 在 PHP 中将上传的图像转换为灰度

转载 作者:行者123 更新时间:2023-12-01 23:00:37 26 4
gpt4 key购买 nike

我有一个脚本可以上传图片并调整其大小,一切正常,但我希望能够从图像中去除颜色,使其变为黑白(本质上是各种灰色阴影)。我不确定如何实现这一目标?

谢谢

最佳答案

尝试以下方法:

<?php 
$source_file = "test_image.jpg";

$im = ImageCreateFromJpeg($source_file);

$imgw = imagesx($im);
$imgh = imagesy($im);

for ($i=0; $i<$imgw; $i++)
{
for ($j=0; $j<$imgh; $j++)
{

// get the rgb value for current pixel

$rgb = ImageColorAt($im, $i, $j);

// extract each value for r, g, b

$rr = ($rgb >> 16) & 0xFF;
$gg = ($rgb >> 8) & 0xFF;
$bb = $rgb & 0xFF;

// get the Value from the RGB value

$g = round(($rr + $gg + $bb) / 3);

// grayscale values have r=g=b=g

$val = imagecolorallocate($im, $g, $g, $g);

// set the gray value

imagesetpixel ($im, $i, $j, $val);
}
}

header('Content-type: image/jpeg');
imagejpeg($im);
?>

请注意,我无耻地从 this article 撕下了这个片段。 ,我使用谷歌搜索发现了以下术语:php convert image to grayscale

[ 编辑 ]
从评论中,如果您使用 PHP5,您还可以使用:
imagefilter($im, IMG_FILTER_GRAYSCALE); 

关于image-processing - 在 PHP 中将上传的图像转换为灰度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8245021/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com