月度归档:2012年10月

谁不曾谁不想

有谁能体会
有谁曾真的了解
有谁能将永恒变成绝对
让爱或者不爱都能倾向完美
不再有错过的约会

不曾被酒麻醉
清醒看待这一切
再多的苦也要自己来背
没有当初的失败
哪里会有这痛滋味
再美的也总会有残缺

谁又曾真的体会
谁又曾真的了解
谁又曾没有为爱流过一滴泪
谁不想追求完美
谁不愿永恒是绝对
谁不盼付出的一切
能够换回一些安慰

不曾被酒麻醉
清醒面对是与非
再多的苦也要自己来背
没有当初的失败
哪里会有这痛滋味
再美的也总会有残缺

谁又曾真的体会
谁又曾真的了解
谁又曾没有为爱流过一滴泪
谁不想追求完美
谁不愿永恒是绝对
谁不盼付出的一切
能够换回一些安慰

谁又曾真的体会
谁又曾真的了解
谁又曾没有为爱流过一滴泪
谁不想追求完美
谁不愿永恒是绝对
谁不盼付出的一切

php rgb 转灰度图像

一个gd库处理图像的实例。

根据公式:灰度值为red * 0.228 + green * 0.587 + blue * 0.114

首先获得一个图片当中所有的颜色数目,然后依次遍历所有的颜色值,将其转成灰度值即可。

$im = imagecreatefromjpeg('/home/istrone/aa.jpg');//如果是Gif用imagecreatefromgif,PNG用imagecreatefrompng……
if (imageistruecolor($im)) {
	imagetruecolortopalette($im, false, 256);//如果是真彩色图象,将真彩色图像转换为调色板图像
}
for ($i = 0; $i < imagecolorstotal($im);/*获得调色板中颜色的数目*/ $i++){
	$rgb = imagecolorsforindex($im, $i);//获得颜色i点的颜色值
	$gray = round(0.229 * $rgb['red'] + 0.587 * $rgb['green'] + 0.114 * $rgb['blue']);//获得颜色灰度值
	imagecolorset($im, $i, $gray, $gray, $gray);//设置i点颜色值
}
header('Content-Type: image/jpeg');//设置图片类型,同样如果想生成gif或者png图象,要替换成相应的头
imagejpeg($im);//输出图象,如果是gif就用imagegif,如果是png就用imagepng……
imagedestroy($im);//销毁图象,释放资源

转成黑白图也比较简单,只需要判断得到的灰度值,如果<128,那么置为0,否则,设置为255 代码如下: [php] $im = imagecreatefromjpeg('/home/istrone/aa.jpg');//如果是Gif用imagecreatefromgif,PNG用imagecreatefrompng…… if (imageistruecolor($im)) { imagetruecolortopalette($im, false, 256);//如果是真彩色图象,将真彩色图像转换为调色板图像 } for ($i = 0; $i < imagecolorstotal($im);/*获得调色板中颜色的数目*/ $i++){ $rgb = imagecolorsforindex($im, $i);//获得颜色i点的颜色值 $gray = round(0.229 * $rgb['red'] + 0.587 * $rgb['green'] + 0.114 * $rgb['blue']);//获得颜色灰度值 if($gray <= 128) $gray = 0; else $gray = 255; imagecolorset($im, $i, $gray, $gray, $gray);//设置i点颜色值 } header('Content-Type: image/jpeg');//设置图片类型,同样如果想生成gif或者png图象,要替换成相应的头 imagejpeg($im);//输出图象,如果是gif就用imagegif,如果是png就用imagepng…… imagedestroy($im);//销毁图象,释放资源 [/php]