我已經閱讀堆棧溢出,裏面有所有相關的問題進行組的字:黑色和白色或單色。這些帖子討論了兩個常見問題之一:灰度或黑白。
我做不是想要我的輸出圖像在黑色只;但是,我想要更多。我想在一個色,這是一個給定的變量,例如我的輸出畫面:$MyColor = #336699;
,$MyColor = #3366CC;
...
所以,我的問題是不複製任何存在的問題。如何使用PHP將「真彩色」圖像轉換爲「單色」圖像?
首先,我有一個原始圖像,這是一個真彩色圖像。它被保存在JPEG格式:
這種原始圖片有:顏色。
然後,我可以把它轉換成灰度圖像,運行這個簡單的腳本後:
<?php
$source_file = "1.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);
// Gray-scale 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);
?>
而且,下面是結果:
此灰度圖片有:顏色。
現在,我想將其轉換成真正的一個色圖像:
這一種顏色的圖片有:顏色。
在這種情況下,$MyColor = #000000;
。
你能告訴我:如何真彩色圖像轉換爲單色圖像,用PHP?
如果有一個與我的問題有任何問題,請後下。我會讀它;那麼,我會改進它。 – 16ctt1x
提示您搜索:「抖動」 –
它也被投票關閉。主要是因爲你自己沒有做過研究,你只是要求教程 –