Auto_pix: le lorempixel.com allégé et perso

C'est plus vraiment mercredi, mais comme je poste moins ces temps-ci, je fais un cadeau le vendredi... 

J'utilise régulièrement le service lorempixel.com lorsque je fais des maquettes (pour ceux qui ne connaissent pas, c'est un site qui renvoie une image au hasard dans les dimensions demandées, il suffit d'utiliser leur adresse et de donner les dimensions en argument). C'est très utile car on n'a pas besoin de perdre du temps à créer une image ou à en tipiak une onzeouêb pour continuer à bosser: il suffit d'insérer l'adresse du site dans une balise image ou des css et voilà...

Le problème, c'est quand on bosse en vacances loin d'une éventuelle connexion au net... comme ça m'est arrivé au ski dernièrement.

Ceux qui me suivent régulièrement se rappellent peut-être d'auto_lorem qui permettait de faire un peu la même chose... Ben là, il n'y a pas de code PHP à embed dans une balise...

 

 


Du coup, je me suis (encore) bidouillé un genre de service à la lorempixel.com, qui renvoie un bloc coloré dans les dimensions de votre choix et accompagné d'un texte.

Il consiste en un fichier qu'on colle où on veut et à qui on envoie en paramètre:

  • w= la largeur en pixel
  • h= la hauteur en pixel
  • c= la couleur au format AABBCC ou ABC sans le #
  • t= un texte à coller dedans...

Genre :auto_pix.php?w=500&h=250&c=F50&t=Le_bloc_coloré_qui_fera_une_bonne_illustration donne...

<?php
/* 
    bronco@warriordudimanche.com / www.warriordudimanche.net
    renvoie une image aux dimensions et couleurs passées en arguments
    auto_pix.php?w=500&h=300&c=FF0000 rectangle rouge 
    L'intérêt est qu'on peut le mettre directement dans une balise image...
    <img src="http://www.warriordudimanche.net/auto_pix.php?w=500&h=300&c=FF0000"/>
    #C76616
*/
if (isset($_GET["w"])&amp;&amp;isset($_GET["h"])){$width=$_GET["w"];$height=$_GET["h"];}
if (isset($_GET["c"])){
    preg_match('/#?([a-fA-F0-9]{1,2})([a-fA-F0-9]{1,2})([a-fA-F0-9]{1,2})/',$_GET["c"],$color);
    if (strlen($color[1]&lt;2)){
        $color[1]=$color[1].$color[1];
        $color[2]=$color[2].$color[2];
        $color[3]=$color[3].$color[3];
    }
    $color=array_map("hexdec",$color);
}else{$color=array(0,255,150,0);}

if (isset($_GET["t"])){$text=$_GET["t"];}else{$text='';}
$img=imagecreate($width, $height); 
$couleur = ImageColorAllocate ($img, $color[1],$color[2],$color[3]); 
$textcolor = ImageColorAllocate ($img, 0,0,0); 
$textcolor2 = ImageColorAllocate ($img, 255,255,255); 
imageantialias($img, true);
imagefilledrectangle($img, 0, 0, $width, $height, $couleur);
imageline($img, 0, 0, $width, $height, $textcolor2);
imageline($img,  $width,0,0,  $height, $textcolor2);
$l=strlen($text);$x=($width/2)-($l*4);$y=($height/2)-8;
imagefilledrectangle($img, 0, $y, $width, $y+16, $couleur);
imagestring($img, 5, $x, $y, $text, $textcolor);
imagestring($img, 5, $x+1, $y+1, $text, $textcolor2);
header ("Content-type: image/png"); 
ImagePng ($img);

?>

Et le lien pour récup' : http://warriordudimanche.net/vrac/auto_pix.zip

Ceux qui veulent tester ou utiliser ça sans installer, vous pouvez utiliser l'adresse de WDD suivante

pix.warriordudimanche.net/?w=LARGEUR&h=HAUTEUR&c=COULEUR&t=TEXTE

 

Allez, salut les copains !

 

❝ 1 commentaire ❞

1  JeromeJ le

Wouah ça tient en peu de ligne :o

Très prachtique en tout cas, anéfé. Car, oui, il y a des lieux reculés où il n'y pas internet et il y a des gens qui refusent toujours de passer au 3G & co. (Moi, dès que je peux, c'est par câble ethernet )

 

Fil RSS des commentaires de cet article

✍ Écrire un commentaire

les commentaires relevant du SPAM seront filtrés et dégagés direct...

Quelle est la deuxième lettre du mot evjum ?