BeHuman

Tu veux du code, en voilà !!

LeeWee petit language interprété en C

Rédigé par BeHuman - - 1 commentaire

Salut à tous,

Cela fait quelques semaine que je me suis lancer pleinement dans l'apprentissge du langage C. Comme pour le FreePascal, Python, Bash...etc je me suis amusé à dévelloper un petit langage interprété histoire de rentré pleinement au cours du langage en question.

LeeWee est mon petit projet de langage interprété que j'adapte suivant mes lubbies du moment. Actuellement orienté sur le développement web LeeWee doit pouvoir au minimum:

  1. attribuer des variables
  2. retourner des variables dans du contenue au format HTML

Bon, je dois l'avouer pour le moment cela reste très sommaire.

Attribuer une variable:

$title=salut le monde

Retour une variable dans du HTML:

<html>
    <head>
        <title>$[title]</title>
    </head>
    <body>
    </body>
</html>

ok, jusque là rien de bien compliqué cheeky

Lire la suite de LeeWee petit language interprété en C

Convertir une image en Canvas HTML5 en PHP

Rédigé par BeHuman - - aucun commentaire

Pour le fun je me suis fait un script PHP qu me converti une image en tableau HTML

 

 

<?php
error_reporting(E_ALL); 
ini_set("display_errors", 1); 
function genImg($filename, $opacity="1") {
    if ( ( preg_match('/.*\.png$/i',$filename) || preg_match('/.*\.jpg$/i',$filename) || preg_match('/.*\.gif$/i',$filename) ) &&  file_exists($filename) ) {
        if (preg_match('/.*\.png$/i',$filename)) {
            $im = imagecreatefrompng($filename);
        } else if (preg_match('/.*\.jpg$/i',$filename) || preg_match('/.*\.jpeg$/i',$filename) ) {
            $im = imagecreatefromjpeg($filename);
        } else if (preg_match('/.*\.gif$/i',$filename)) {
            $im = imagecreatefromgif($filename);
        }
        $npx=0;
        $size = getimagesize($filename);
        $html= "<canvas id='myCanvas'  style='border:0px none; width:".$size[0]."px!important;height:".$size[1]."px;' width='".$size[0]."px' height='".$size[1]."px'>Your browser does not support the HTML5 canvas tag.
</canvas><script>var c = document.getElementById('myCanvas');
var ctx = c.getContext('2d');";
        for ($i=1; $i<=$size[1]-1; $i++) {
            for ($ii=1; $ii<=$size[0]-1; $ii++) {
                $rgb = imagecolorat($im, $ii, $i);
                $r = ($rgb >> 16) & 0xFF;
                $g = ($rgb >> 8) & 0xFF;
                $b = $rgb & 0xFF;
                $html.= "ctx.fillStyle = \"rgba(".$r.",".$g.",".$b.",".$opacity.")\";";
                $html.= "ctx.fillRect(".$ii.",".$i.",1,1);";
            }
        }
        $html.= "</script>";
    }
    return $html;
}

$fl="ex-img2html/php.jpg";
if (file_exists($fl)) {
    echo "<u>Image d'origine :</u><br>".
        "<img src='".$fl."'><br><br>".
        "<u>Image convertie :</u><br>".
        genImg($fl);
}

 

Voir la démo

++

Récupérer les couleurs des bordures d'une image en PHP

Rédigé par BeHuman - - aucun commentaire

 

Salut,

Cette petite routine vous permettra de récupérer les couleurs des bordures d'une image et de retourner un pourcentage de corrélation. Cela me permet de détecter les images n'ayant pas de fond blanc pour le catalogue Google par exemple.

function scanImgBorderColor($filename, $ro=255, $go=255, $bo=255) {
    if ( ( preg_match('/.*\.png$/',$filename) || preg_match('/.*\.jpg$/',$filename) || preg_match('/.*\.gif$/',$filename) ) &&  file_exists($filename) ) {
        if (preg_match('/.*\.png$/',$filename)) {
            $im = imagecreatefrompng($filename);
        } else if (preg_match('/.*\.jpg$/',$filename) || preg_match('/.*\.jpeg$/',$filename) ) {
            $im = imagecreatefromjpeg($filename);
        } else if (preg_match('/.*\.gif$/',$filename)) {
            $im = imagecreatefromgif($filename);
        }
        $npx=0;
        $size = getimagesize($filename);
        for ($i=1; $i<=$size[0]-1; $i++) {
            $rgb = imagecolorat($im, 1, $i);
            $r = ($rgb >> 16) & 0xFF;
            $g = ($rgb >> 8) & 0xFF;
            $b = $rgb & 0xFF;
            if ($r < $ro && $g < $go && $b < $bo ) {
                $npx++;
            }
            $rgb = imagecolorat($im, $size[1]-1, $i);
            $r = ($rgb >> 16) & 0xFF;
            $g = ($rgb >> 8) & 0xFF;
            $b = $rgb & 0xFF;
            if ($r < $ro && $g < $go && $b < $bo) {
                $npx++;
            }
        }
        
        for ($i=1; $i<=$size[1]-1; $i++) {
            $rgb = imagecolorat($im, $i, 1);
            $r = ($rgb >> 16) & 0xFF;
            $g = ($rgb >> 8) & 0xFF;
            $b = $rgb & 0xFF;
            if ($r < $ro && $g < $go && $b < $bo) {
                $npx++;
            }
            $rgb = imagecolorat($im, $i, $size[0]-1);
            $r = ($rgb >> 16) & 0xFF;
            $g = ($rgb >> 8) & 0xFF;
            $b = $rgb & 0xFF;
            if ($r < $ro && $g < $go && $b < $bo) {
                $npx++;
            }
        }
        $allpx=(($size[0]-1)*2)+(($size[1]-1)*2);
        $endpx=100-(($npx/$allpx)*100);
        return $endpx;
    }
}

if (scanImgBorderColor('img001.png', 250, 250, 250)>=90) {
    //image ok
} else {
    //image trop sombre
}

voilii voiloo ++