php zwart-wit script
verander afbeeldingen van kleur naar grijs-tinten

home | index | menu | help

Er is geen CSS ondersteuning.

		
		
grijskleur
	
		

Plaatjes zijn nog altijd het mooiste als ze "in kleur" zijn. Maar soms is het nodig om zwart-wit afbeeldingen op de site te hebben. En als dan de (correcte)GD-library niet voorhanden is, heb je toch wel een probleem. Met dit kleine php-script is dat probleem snel opgelost. Maak een file met de naam "maak-grijs.php" aan en stop daarin de onderstaande code:

<?php
	$welkefile=$_GET[src];
	if(is_file($welkefile)){
		$helepad=explode(".",$welkefile);
		$eindindex=sizeof($helepad)-1;
		$extensie=$helepad[$eindindex];
		if(preg_match("/jpg|jpeg|JPG|JPEG/",$extensie)){
			$werkfile=imagecreatefromjpeg($welkefile);}
		$debreedte=imageSX($werkfile);
		$dehoogte=imageSY($werkfile);
		for($y=0;$y<$dehoogte;$y++) {
			for($x=0;$x<$debreedte;$x++) {
				$rgb=imagecolorat($werkfile,$x,$y);
				$rood=($rgb >> 16)& 0xFF;
				$groen=($rgb >> 8)& 0xFF;
				$blauw=$rgb & 0xFF;
				$grijs=round(.299*$rood + .587*$groen + .114*$blauw);
				$grijsR=$grijs << 16;  
				$grijsG=$grijs << 8;   
				$grijsB=$grijs;     
				$grijsColor=$grijsR | $grijsG | $grijsB;
				imagesetpixel($werkfile,$x,$y,$grijsColor);
				imagecolorallocate($werkfile,$grijs,$grijs,$grijs);}}
		$eindresultaat=ImageCreateTrueColor($debreedte,$dehoogte);
		imagecopy($eindresultaat,$werkfile,0,0,0,0,$debreedte,$dehoogte);
		header("Content-type:image/jpeg");
		imagejpeg($eindresultaat);
		imagedestroy($eindresultaat);   
		imagedestroy($werkfile);}
?>		
		

En op de plaats waar je de zwart-wit (grijstinten) afbeelding wilt hebben zet je de regel:

<img src="maak-grijs.php?src=jouw_file.jpg">  		
		

Je kan in het scriptje natuurlijk ook andere extensies gebruiken. Zoek even op Google voor de desbetreffende code.

cache 19-08-2010