Pixelisation des mots censurés

Contenu du snippet

Ce script sert a générer pour un mot donnée une version pixelisé.

Ajouté a un forum ou un livre d'or, ca permet d'avoir une censure des mots plutot sympatique (même si, vue que le mot a censurer est passé en option dans l'url, il y a possibilité de retrouver le mots de base)

Source / Exemple :


<?php

// désactive les erreurs
error_reporting(0);

// Récupère le mot a censurer
$censure = $_GET['m'];
if(!$censure)
{
	$censure = "Mots manquant";
}

// Récupère la taille du mot a censurer
$taille = strlen($censure)*6;

// Affiche la page en tant que fichier png
header ("Content-type: image/png");

// Créer le fichier de la bonne taille
$im = @imagecreate ($taille, 16)
    or die ("Impossible d'initialiser la bibliothèque GD");
	
// Allocation des couleurs
	
$background_color = imagecolorallocate ($im, 255, 255, 255);
$text_color = imagecolorallocate ($im, 0, 0, 0);

// Ecriture du mots, afin de le pixeliser ensuite
imagestring ($im, 2, 0, 0,  $censure, $text_color); 

// Création des pourcentage de pixels noir
for($x=0; $x<$taille; $x++)
{
	for($y=0; $y<16; $y++)
	{
		$nx = floor($x/4);
		$ny = floor($y/4);
		if(imagecolorat($im, $x, $y) == '1')
		{
			$table[$nx][$ny] += 8;
		}
		else
		{
			$table[$nx][$ny] += 0;
		}
	}
}

// Ecriture des cases de pixelisation
for($x=0; $x<$taille/4; $x++)
{
	for($y=0; $y<4; $y++)
	{
		$tmp = 255-(2*$table[$x][$y]);
		imagefilledrectangle($im, $x*4, $y*4, ($x*4)+3, ($y*4)+3, imagecolorallocate ($im, $tmp, $tmp, $tmp));
	}
}

// Affichage de l'image
imagepng ($im);
imagedestroy($im);
?>

Conclusion :


Le code est fait rapidement, et donc n'as pas été optimisé, il y a surrement moyen d'améliorer ca, comme en gérant plusieurs police, la taille de caractère utilisé ou les couleurs, mais ca sera pour une prochaine version

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (The_Wide_World)