Tôi mất những gì đã ở here mà Mehdi Karamosly đề cập trong câu trả lời của mình và sửa đổi nó một số được một chút simipiler chút và tạo ra một sản lượng html đơn giản mà bạn có thể sửa đổi theo ý thích của bạn. Bạn có thể muốn thêm nhiều dữ liệu kiểm tra để đảm bảo tệp của nó/hình ảnh thực nếu bạn muốn thêm bảo mật. Tôi đã kiểm tra nó trên máy tính của tôi và nó hoạt động và hy vọng nó sẽ làm việc cho những gì bạn cần với một số sửa đổi (s).
function graycolor($img){
list($width, $height) = getimagesize($img);
$mime = pathinfo($img, PATHINFO_EXTENSION);
switch($mime){#use appropriate function depending on image type
case 'jpg':
case 'jpeg':
$im = imagecreatefromjpeg($img);
break;
case 'png':
$im = imagecreatefrompng($img);
break;
case 'gif':
$im = imagecreatefromgif($img);
break;
default:
#invalid type
exit;
}
if(!is_color($img, $im)){#$img = string; $im = resource string
$ret = "";
for($i = 0; $i < $height; $i++){#loop height pixels
for($ii = 0; $ii < $width; $ii++){#loop width pixels
$color = imagecolorat($im, $ii, $i);
$color = imagecolorsforindex($im, $color);
$ret .= $color['red'] . " ";
}
$ret .= "\n";
}
return $ret;
}else{
#$ret = "";
#for($i = 0; $i < $height; $i++){#loop height pixels
#for($ii = 0; $ii < $width; $ii++){#loop width pixels
#$color = imagecolorat($im, $ii, $i);
#$color = imagecolorsforindex($im, $color);
#$ret .= $color['red'] . ", " . $color['green'] . ", " . $color['blue'] . " ";
#}
#$ret .= "\n";
#}
return "color image";
}
}
function is_color($img, $im){
$times = 10;#number of times to check image for color
$iscolor = false;
list($width, $height) = getimagesize($img);
for($i = 0 ; $i < $times && !$iscolor; $i++){
$color = imagecolorat($im, rand(0, $width), rand(0, $height));#get random cords
$color = imagecolorsforindex($im, $color);#get the random color's values
if($color['red'] !== $color['green'] || $color['green'] !== $color['blue']){
$iscolor = true;
break;
}
}
return $iscolor;
}
echo graycolor('color.jpg');#outputs color image
echo graycolor('gray.jpg');#outputs numbers
Bây giờ bạn đang nói về hình ảnh mức xám, nếu bạn muốn làm điều đó với một hình ảnh màu mỗi pixel sẽ có 3 số từ 0 đến 255. (đỏ: 0-255, xanh lá cây: 0-255, màu xanh : 0-255) –
http://php.net/manual/en/function.imagecolorat.php Nó có thể được googled dễ dàng với "php hình ảnh màu pixel đọc" nếu bạn đã cho google một thử – zerkms
Bạn có thể chia sẻ hình ảnh thực tế với chúng tôi? –