Er is geen CSS ondersteuning.
| kleur code | ||
| 181818 | ||
| c0c0c0 | ||
| d8c0a8 | ||
| 786048 | ||
| 303030 | ||
| a89078 | ||
| 604848 | ||
| d8d8d8 | ||
| a8a8a8 | ||
| c0a890 | ||
| 907860 | ||
| 909090 | ||
| 787878 | ||
| 909030 | ||
| 606018 | ||
| a8a848 | ||
| c0c048 | ||
| f0f0d8 |
Deze procedure geeft de kleurwaarde(n) die in een plaatje voorkomen. geef de variabele $plaatje de waarde (naam) van een image; en dat is dat. Hieronder staat de broncode van de gehele pagina. Als je de extract color procedure op jouw website wilt gebruiken hoef je alleen maar de code te copy/paste(n).
<?php
class gemiddelde_kleur{
var $test_breedte=100;
var $test_hoogte=100;
var $foutje;
function haal_de_kleur($img,$aantal=20,$helder_minder=true,$verloop_minder=true,$delta=16 ){
if (is_readable($img)){
if($delta>2){
$halve_delta=$delta/2-1;}
else{
$halve_delta=0;}
$afmeting=GetImageSize($img);
$schaal=1;
if($afmeting[0]>0)
$schaal=min($this->test_breedte/$afmeting[0],$this->test_hoogte/$afmeting[1]);
if ($schaal<1){
$fix_breedte=floor($schaal*$afmeting[0]);
$fix_hoogte=floor($schaal*$afmeting[1]);}
else{
$fix_breedte=$afmeting[0];
$fix_hoogte=$afmeting[1];}
$image_resized=imagecreatetruecolor($fix_breedte,$fix_hoogte);
if($afmeting[2]==1)
$image_orig=imagecreatefromgif($img);
if($afmeting[2]==2)
$image_orig=imagecreatefromjpeg($img);
if($afmeting[2]==3)
$image_orig=imagecreatefrompng($img);
imagecopyresampled($image_resized, $image_orig,0,0,0,0,$fix_breedte,$fix_hoogte,$afmeting[0],$afmeting[1]);
$im=$image_resized;
$imgWidth=imagesx($im);
$imgHeight=imagesy($im);
$tel_alle_pixels=0;
for ($y=0;$y<$imgHeight;$y++){
for ($x=0;$x<$imgWidth;$x++){
$tel_alle_pixels++;
$index=imagecolorat($im,$x,$y);
$colors=imagecolorsforindex($im,$index);
if($delta>1){
$colors['red']=intval((($colors['red'])+$halve_delta)/$delta)*$delta;
$colors['green']=intval((($colors['green'])+$halve_delta)/$delta)*$delta;
$colors['blue']=intval((($colors['blue'])+$halve_delta)/$delta)*$delta;
if($colors['red']>= 256){
$colors['red']= 255;}
if($colors['green']>=256){
$colors['green']=255;}
if($colors['blue']>= 256){
$colors['blue']=255;}}
$heks=substr("0".dechex($colors['red']),-2).substr("0".dechex($colors['green']),-2).substr("0".dechex($colors['blue']),-2);
if(!isset($heksarray[$heks])){
$heksarray[$heks]=1;}
else{
$heksarray[$heks]++;}}}
if($verloop_minder){
arsort(&$heksarray,SORT_NUMERIC);
$gradients=array();
foreach($heksarray as $heks => $num){
if( ! isset($gradients[$heks])){
$nieuwe_heks = $this->_vind_ernaast( $heks, $gradients, $delta );
$gradients[$heks]=$nieuwe_heks;}
else{
$nieuwe_heks=$gradients[$heks];}
if($heks!=$nieuwe_heks){
$heksarray[$heks]=0;
$heksarray[$nieuwe_heks]+= $num;}}}
if($helder_minder){
arsort( &$heksarray,SORT_NUMERIC);
$de_helderheid=array();
foreach ($heksarray as $heks => $num){
if(!isset($de_helderheid[$heks])){
$nieuwe_heks=$this->_egaliseer($heks,$de_helderheid,$delta );
$de_helderheid[$heks]=$nieuwe_heks;}
else{
$nieuwe_heks=$de_helderheid[$heks];}
if($heks!=$nieuwe_heks){
$heksarray[$heks]=0;
$heksarray[$nieuwe_heks]+=$num;}}}
arsort(&$heksarray,SORT_NUMERIC );
foreach($heksarray as $key => $value){
$heksarray[$key]=(float)$value/$tel_alle_pixels;}
if($aantal>0){
$arr=array();
foreach($heksarray as $key => $value){
if($aantal==0){
break;}
$aantal--;
$arr[$key]=$value;}
return $arr;}
else{
return $heksarray;}}
else{
$this->foutje="Image ".$img." : kan ik niet inlezen";
return false;}}
function _egaliseer($heks,$heksarray,$delta ){
$lowest=255;
$highest=0;
$colors['red']=hexdec(substr($heks,0,2));
$colors['green']=hexdec(substr($heks,2,2));
$colors['blue']=hexdec(substr($heks,4,2));
if($colors['red']< $lowest){$lowest=$colors['red'];}
if($colors['green']< $lowest){$lowest=$colors['green'];}
if($colors['blue']< $lowest){$lowest=$colors['blue'];}
if($colors['red']> $highest){$highest=$colors['red'];}
if($colors['green']> $highest){$highest=$colors['green'];}
if($colors['blue']> $highest){$highest=$colors['blue'];}
if($lowest==$highest ){
if($delta<=32){
if($lowest==0||$highest >= (255-$delta)){
return $heks;}}
else{
return $heks;}}
for(;$highest<256;$lowest+=$delta,$highest+= $delta){
$nieuwe_heks=substr("0".dechex($colors['red']-$lowest),-2).substr("0".dechex($colors['green']-$lowest),-2).substr("0".dechex($colors['blue']-$lowest),-2);
if( isset( $heksarray[$nieuwe_heks])){
return $nieuwe_heks;}}
return $heks;}
function _vind_ernaast($heks,$gradients,$delta ){
$rood=hexdec(substr($heks,0,2));
$groen=hexdec(substr($heks,2,2));
$blauw=hexdec(substr($heks,4,2));
if($rood>$delta){
$nieuwe_heks=substr("0".dechex($rood-$delta),-2).substr("0".dechex($groen),-2).substr("0".dechex($blauw),-2);
if(isset($gradients[$nieuwe_heks])){
return $gradients[$nieuwe_heks];}}
if($groen>$delta){
$nieuwe_heks=substr("0".dechex($rood),-2).substr("0".dechex($groen-$delta),-2).substr("0".dechex($blauw),-2);
if(isset($gradients[$nieuwe_heks])){
return $gradients[$nieuwe_heks];}}
if($blauw>$delta){
$nieuwe_heks=substr("0".dechex($rood),-2).substr("0".dechex($groen),-2).substr("0".dechex($blauw-$delta),-2);
if(isset($gradients[$nieuwe_heks])){
return $gradients[$nieuwe_heks];}}
if($rood<(255-$delta)){
$nieuwe_heks=substr("0".dechex($rood+$delta),-2).substr("0".dechex($groen),-2).substr("0".dechex($blauw),-2);
if(isset($gradients[$nieuwe_heks])){
return $gradients[$nieuwe_heks];}}
if($groen<(255-$delta)){
$nieuwe_heks=substr("0".dechex($rood),-2).substr("0".dechex($groen+$delta),-2).substr("0".dechex($blauw),-2);
if(isset($gradients[$nieuwe_heks])){
return $gradients[$nieuwe_heks];}}
if($blauw<(255-$delta)){
$nieuwe_heks=substr("0".dechex($rood),-2).substr("0".dechex($groen),-2).substr("0".dechex($blauw+$delta),-2);
if(isset($gradients[$nieuwe_heks])){
return $gradients[$nieuwe_heks];}}
return $heks;}}
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>extract color</title>
<meta name="author" content="Bobik"><meta name="language" content="nederlands"><style type="text/css" media="screen">body{margin-bottom:60em;color:#E5CC92;background:#020;font-family:Helvetica,Geneva,Arial,sans-serif;font-size:16px}a{text-decoration:none;outline:0}img{border:0}.tekst{color:#bbb;background:#040;text-align:center;padding-bottom:0.5em}ul{margin-left:100px;display:block;width:16em;color:#82B282;background:#030;padding:0.3em;list-style-type:none;border-right:1px solid #004000;border-top:1px solid #004000}p{margin-left:100px}p{margin-right:40%}.css-check{display:none}li a{color:#82B282;background:#003300;padding-left:0.5em}li a:hover{color:#E5CC92;background:#003300}.eenlink,.knop,.tekst{color:#aaa;background:#040;padding-left:0.5em;padding-right:0.5em;border-right:1px solid #050;border-top:1px solid #050}.eenlink:hover,.knop:hover{color:#E5CC92;background:#040}.knop{color:#AABD8C;background:#040;font-weight:bold}.groter{font-size:1.4em}.kleiner{font-size:0.7em}.lager{margin-bottom:5em}#logo{color:#436E00;background:#040;position:absolute;right:1.2em;font-weight:bold}</style>
<style type="text/css">
table,pre{margin-left:100px}
</style>
</head>
<body>
<div class="tekst">
<div id="logo">www.dns5.nl</div>
<span class="groter"><strong>extract color image</strong></span><br />
<span class="kleiner"><strong>php-script om de kleuren van een plaatje uit te lezen</strong></span>
</div>
<p class="lager">
<a href="http://www.dns5.nl/" rel="nofollow" title=" hoofd pagina "><span class="knop">home</span></a> |
<a href="http://www.dns5.nl/site-index.php" rel="nofollow" title=" site-index "><span class="knop">index</span></a> |
<a href="http://www.dns5.nl/alle-scripts-en-code.html" rel="nofollow" title=" hoofd-menu "><span class="knop">menu</span></a> |
<a href="http://www.dns5.nl/help.html" rel="nofollow" title=" help "><span class="knop">help</span></a>
</p>
<p class="css-check">Er is geen CSS ondersteuning.</p>
<noscript>
<p>Jouw javascript is uitgeschakeld. Sommige onderdelen van deze site zijn nu niet operationeel.</p>
</noscript>
<ul>
<li><a href="http://www.dns5.nl/php/" title=" php menu ">klik hier voor het php-menu</a></li>
<li><a href="http://www.dns5.nl/php/programma-code/banner.xml" title=" automatische banners ">klik hier voor het php script</a></li>
</ul>
<pre>
</pre>
<?php
$plaatje="extract-color.jpg";
$delta = 24;
$helder_minder = true;
$verloop_minder = true;
$hoeveel_zien = 25;
$klas=new gemiddelde_kleur();
$colors=$klas->haal_de_kleur($plaatje, $hoeveel_zien, $helder_minder, $verloop_minder, $delta);
?>
<p>
<img src="<?php echo $plaatje;?>" alt="extract kleur" />
</p>
<table>
<tr><td> </td><td> </td><td>kleur code</td></tr>
<?php
foreach($colors as $heks => $aantal){
if($aantal>0){echo "<tr><td style=\"background:#".$heks.";color:#000\"></td><td> </td><td>".$heks."</td></tr>";}}
?>
</table>
</body>
</html>
cache 17-02-2011