note 77841 added to function.imagecolorat
| From: | pocze_zsolt at hotmail dot com | Date: | Sat, 15 Sep 2007 11:50:33 +0000 |
| Subject: | note 77841 added to function.imagecolorat | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-130509@lists.php.net to get a copy of this message | ||
This is a histogram-stretchng function to get a better contrast.
function contrast_stretch( $img ) {
$x = imagesx($img);
$y = imagesy($img);
$min=255.0;
$max=0.0;
for($i=0; $i<$y; $i++) {
for($j=0; $j<$x; $j++) {
$pos = imagecolorat($img, $j, $i);
$f = imagecolorsforindex($img, $pos);
$gst = $f["red"]*0.15 + $f["green"]*0.5 + $f["blue"]*0.35;
if($gst>$max) $max=$gst;
if($gst<$min) $min=$gst;
}
}
$distance = $max-$min;
for($i=0; $i<$y; $i++) {
for($j=0; $j<$x; $j++) {
$pos = imagecolorat($img, $j, $i);
$f = imagecolorsforindex($img, $pos);
$red = 255*($f["red"]-$min)/$distance;
$green = 255*($f["green"]-$min)/$distance;
$blue = 255*($f["blue"]-$min)/$distance;
if($red<0) $red = 0.0;
elseif($red>255) $red=255.0;
if($green<0) $green = 0.0;
elseif($green>255) $green=255.0;
if($blue<0) $blue = 0.0;
elseif($blue>255) $blue=255.0;
$color = imagecolorresolve($img, $red, $green, $blue);
imagesetpixel($img, $j, $i, $color);
}
}
}
----
Server IP: 195.56.193.13
Probable Submitter: 80.99.127.159
----
Manual Page -- http://www.php.net/manual/en/function.imagecolorat.php
Edit -- https://master.php.net/note/edit/77841
Del: integrated -- https://master.php.net/note/delete/77841/integrated
Del: useless -- https://master.php.net/note/delete/77841/useless
Del: bad code -- https://master.php.net/note/delete/77841/bad+code
Del: spam -- https://master.php.net/note/delete/77841/spam
Del: non-english -- https://master.php.net/note/delete/77841/non-english
Del: in docs -- https://master.php.net/note/delete/77841/in+docs
Del: other reasons-- https://master.php.net/note/delete/77841
Reject -- https://master.php.net/note/reject/77841
Search -- https://master.php.net/manage/user-notes.php