L'effet Itunes #1 :: De Face
Voici l'image originale

Comme je l'ai ecrit sur la présentation la transparence étant tres mal gérée sur les images web, j'ai fait le choix du background en blanc #FFFFF
Voici maintenant le Code PHP
// Chemin de l'image originale
$image_path = "images/image-originale.jpg";
// Recuperation des informations de la taille de l'image originale
$size = getimagesize($image_path);
// 30% de la hauteur
$hauteur = floor($size[1]*(30/100));
// Couleurs du fond (ici le blanc = #FFFFFF ou 255 255 255)
$r1 = 255;
$g1 = 255;
$b1 = 255;
$im1 = imagecreatefromjpeg($image_path);
$width = $size[0];
$height = $size[1]+$hauteur;
// Creation de l'image itunes-alike
// (dimensions 100% en largueur et 130% en hauteur)
$im = imagecreatetruecolor( $width, $height );
$couleur_fond = ImageColorAllocate($im, $r1, $g1, $b1);
imagefilledrectangle($im,0,0,$width,$height,$couleur_fond);
imagecopy($im, $im1, 0, 0, 0, 0, $width, $size[1]);
// Coeur de l'algorithme
for ($i=0;$i<$hauteur; $i++) {
for ($j=0;$j<$width; $j++) {
$rgb = ImageColorAt($im1, $j, $size[1]-$i-1);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
$r = round(($r1+$r)/2);
$g = round(($g1+$g)/2); $b = round(($b1+$b)/2);
$r += round(($r1-$r)*$i/$hauteur);
$g += round(($g1-$g)*$i/$hauteur);
$b += round(($b1-$b)*$i/$hauteur);
$color = $r*pow(2,16)+$g*pow(2,8)+$b*pow(2,0);
imagesetpixel($im, $j, $size[1]+$i, $color);
}
}
header("Content-type: image/jpeg");
imagejpeg($im);

Et voici l'image version de face avec l'effet mirroir sur 30% de sa hauteur.

Comme je l'ai ecrit sur la présentation la transparence étant tres mal gérée sur les images web, j'ai fait le choix du background en blanc #FFFFF
Voici maintenant le Code PHP
// Chemin de l'image originale
$image_path = "images/image-originale.jpg";
// Recuperation des informations de la taille de l'image originale
$size = getimagesize($image_path);
// 30% de la hauteur
$hauteur = floor($size[1]*(30/100));
// Couleurs du fond (ici le blanc = #FFFFFF ou 255 255 255)
$r1 = 255;
$g1 = 255;
$b1 = 255;
$im1 = imagecreatefromjpeg($image_path);
$width = $size[0];
$height = $size[1]+$hauteur;
// Creation de l'image itunes-alike
// (dimensions 100% en largueur et 130% en hauteur)
$im = imagecreatetruecolor( $width, $height );
$couleur_fond = ImageColorAllocate($im, $r1, $g1, $b1);
imagefilledrectangle($im,0,0,$width,$height,$couleur_fond);
imagecopy($im, $im1, 0, 0, 0, 0, $width, $size[1]);
// Coeur de l'algorithme
for ($i=0;$i<$hauteur; $i++) {
for ($j=0;$j<$width; $j++) {
$rgb = ImageColorAt($im1, $j, $size[1]-$i-1);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
$r = round(($r1+$r)/2);
$g = round(($g1+$g)/2); $b = round(($b1+$b)/2);
$r += round(($r1-$r)*$i/$hauteur);
$g += round(($g1-$g)*$i/$hauteur);
$b += round(($b1-$b)*$i/$hauteur);
$color = $r*pow(2,16)+$g*pow(2,8)+$b*pow(2,0);
imagesetpixel($im, $j, $size[1]+$i, $color);
}
}
header("Content-type: image/jpeg");
imagejpeg($im);
Libellés : effet itunes, itunes-alike, php

0 commentaires:
Enregistrer un commentaire
Abonnement Publier les commentaires [Atom]
Liens vers ce message:
Créer un lien
<< Accueil