Général

Les PCRE

Les POSIX

Pratique

Spécial php

Les billets de fred

Réduction d'images insérée dans un texte Posté par Yves Maistriaux

Cette fonction de réduction proportionnelle d'images permet de mettre à l'échelle des images insérées au trvers d'un texte. Au départ de balises perso, on utilise la fonction preg_replace_call_back pour rendre l'image active et réduite.

<?php

$texte='Une chaine avec du balisage perso dont une
[img]http://unsite.com/photos/img-1.jpg[/img]
et du texte à la suite et encore une image
[img]http://www.unautresite.com/photos/img-3.jpg[/img]
et c\'est fini !';

function resize($masque){
$taille = @getimagesize($masque[2]);
$max=100;//largeur max autorisée en pixels
$haut_i = $taille[1];
$larg_i = $taille[0];
if($larg_i >$max)
{
$coeff=$max/$larg_i;
$larg_i=$max;
$haut_i=ceil($haut_i*$coeff);
}
return $masque[1].'<img src="'.$masque[2].'"
height="'.$haut_i.'" width="'.$larg_i.'">'.$masque[3];
}

$texte=preg_replace_callback('`(.*?)\[img](.*?)\[/img](.*?)`s',resize,$texte);

echo $texte;

?>
Une réduction d'images simple Posté par Yves Maistriaux

Petite fonction permettant la réduction d'une image. (à l'affichage) Petite fonction permettant la réduction d'une image. (à l'affichage) Agit sur une valeur (ex : largeur) tout en réduisant l'autre (ex: hauteur) proportionnellement.

<?php
function reduction ($image){
$dim=getimagesize($image);
$pixmaxi=200; //on fixe ici la taille maximum souhaitée.

$hauteur=$dim[1];
$largeur=$dim[0];

if ($largeur>$pixmaxi) // on agit sur la largeur dans ce cas
{
$reduire=$pixmaxi/$largeur;
$largeur=$pixmaxi;
$hauteur=ceil($hauteur*$reduction);
}
if (file_exists($image))
{
echo '<img src="',$image,'" heigth="',$hauteur,'" width="',$largeur,'">';
} else {
echo 'Image non disponible';
}
}
// à l'endroit de l'affichage, on appele la fonction

echo reduction($image);

?>
Convertir une couleur Hexadécimal en RVB Posté par Yves Maistriaux

Un code simple permettant de convertir une couleur hexadécimal en teintes R V B. J'ai simplement ajouté une regex qui vérifie le bon format de la couleur hexadécimal et retourne la capture dans le tableau $out

<?php
$color='ff0000';
echo 'Convertir la couleur hexa en RVB<br/>la valeur hexa est :
<strong>',$color,'</strong><br/>';
if(preg_match('`^#?([a-f0-9]{6})$`',$color,$out))
{
$color="#".$out[1];
echo 'La valeur R = ',hexdec (substr ($color, 1,2)),'<br />
La valeur V = ',hexdec (substr ($color, 3,2)),'<br />
La valeur B = ',hexdec (substr ($color, 5,2));
}
?>
Convertir une couleur Hexadécimal en RVB Posté par Yves Maistriaux

Un code simple permettant de convertir une couleur hexadécimal en teintes R V B. J'ai simplement ajouté une regex qui vérifie le bon format de la couleur hexadécimal et retourne la capture dans le tableau $out

<?php
$color='ff0000';
echo 'Convertir la couleur hexa en RVB<br/>la valeur hexa est :
<strong>',$color,'</strong><br/>';
if(preg_match('`^#?([a-f0-9]{6})$`i',$color,$out))
{
$color="#".$out[1];
echo '
La valeur R = ',hexdec (substr ($color, 1,2)),'<br />
La valeur V = ',hexdec (substr ($color, 3,2)),'<br />
La valeur B = ',hexdec (substr ($color, 5,2));
}
?>
ADAM Benjamin 2008 | Admin