Découvert sur Twitter grâce à Toucouleur une sympathique technique pour contourner les limitations à afficher les images dans les newsletter
Assez bleffé par cette Technique j’ai rapidement fait une petite fonction php pour appliquer cette technique facilement Seofuckly.com/img2html/
Sympa?
la fonction :
-
function hexcolor($c) {
-
$r = ($c >> 16) & 0xFF;
-
$g = ($c >> 8) & 0xFF;
-
$b = $c & 0xFF;
-
}
-
-
function imagize($img) {
-
-
$image = imagecreatefrompng($img);
-
$width = imagesx($image);
-
$height = imagesy($image);
-
-
$table = ‘<table border="0" cellpadding="0" cellspacing="0"><tr height="0">’;
-
-
for($horizontal=0; $horizontal<$width; $horizontal++) {
-
$table .= ‘<td width="1"></td>’;
-
}
-
$table .= ‘</tr>’; //fermer les balises sinon ca fait planter le nav.. c’est pas que pour se la péter le valid W3C
-
-
for($vertical=0; $vertical<$height; $vertical++) {
-
$table .= ‘<tr height="1">’;
-
for($horizontal=0; $horizontal<$width; $horizontal++) {
-
$color = imagecolorat($image,$horizontal,$vertical);
-
-
for($colspan=0; $colspan<($width-$horizontal); $colspan++) {
-
if ($color != imagecolorat($image,($horizontal+$colspan),$vertical)) {
-
break;
-
}
-
}
-
-
$horizontal=$colspan+$horizontal-1;
-
-
$table .= ‘<td’;
-
($colspan)? $table .= ‘ colspan=’.$colspan.‘ ‘: »;
-
$table .= ‘bgcolor=’.hexcolor($color).‘></td>’;
-
}
-
$table .= ‘</tr>’;
-
}
-
$table .= ‘</table>’;
-
-
return $table;
-
}
à adapter à votre sauce
J’ai mis à jour quelques truc dans le lien, le code de couleur par exemple, un poil plus léger..
en fait IE8 refuse une couleur de type #FFF à la place de #FFFFFF..
du grand n’importe quoi, du coup on perd quelques kilos pour ces beaux yeux
essaye « white » normalement ça passe sous IE !
Euh intéressant !
Seulement, quelques inconvénients :
- code html qui pénalise le référencement du contenu de la page (massif)
- génération consommatrice en temps et cpu sur grosses images (cache nécessaire/pré-génération)
- augmentation conséquence du poids de la page
Il y a toujours l’alternative base 64, non ?
Bon les images ne sont pas super belles, mais l’idée est bonne et se doit d’être testée. De plus c’est de nouveau à la mode le Vintage