Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

OPÉRATION SUR DES IMAGES


Information sur la source

Description

Cliquez pour voir la capture en taille normale
Cette source vient d'une bibliothèque en Java.
J'ai tout recodé en PHP.

Elle permet de faire pleins d'opérations sur les images.
Pratiquement toute la liste possible est montré dans le source.
 

Source

  • require_once('_ImageFilter.php');
  • $IF= new _ImageFilter;
  • $IF->loadImage('pingouins.jpg', $info);
  • $taille_depart = $IF->getImageSize();
  • $taille_fixe = array();
  • $taille_fixe['w'] = '400';
  • $taille_fixe['h'] = '400';
  • $IF->resize($taille_fixe['w'],$taille_fixe['h'],'ratio',false);
  • $IF->sepia();
  • $IF->colorize(0, 255, 255, 0);
  • $IF->negative();
  • $IF->grayscale(1);
  • $IF->mosaic(3);
  • $IF->Blur(2);
  • $IF->Edge(-4);
  • $IF->Sharpen(5);
  • $IF->flip('h');
  • $IF->rotation(90);
  • $IF->stamp('imageBack.jpg', 0, 0, 'normal');
  • $IF->Geometriques_CartesienVersPolaire();
  • $IF->Geometriques_PolaireVersCartesien();
  • $IF->Deformation_Torsion(M_PI);
  • $IF->Deformation_Oeildepoisson(0.05);
  • $IF->Deformation_Spirale(3/4*M_PI, 50);
  • $IF->Deformation_Ondulations(10, 70);
  • $IF->Artistiques_PeintureHuile(3, 30);
  • $IF->Couleurs_GrisNormalNaturel(false);
  • $IF->Couleurs_GrisNormalNaturel(true);
  • $IF->Couleurs_NB();
  • $IF->Couleurs_RVB(true, true, false);
  • $IF->Couleurs_Contraste(100);
  • $IF->Couleurs_Luminosite(100);
  • $IF->Couleurs_Gamma(2,2,2);
  • $IF->Couleurs_HSB(70,-30,-10);
  • $IF->Couleurs_Saturation(40);
  • $IF->Couleurs_Coloriser(116, 0.39);
  • $IF->Convolution_Adoucir();
  • $IF->Convolution_AdoucirPlus();
  • $IF->Convolution_Flou();
  • $IF->Convolution_FlouPlus();
  • $IF->Convolution_FlouGaussien(3);
  • $IF->Convolution_Nettete();
  • $IF->Convolution_NettetePrincipale();
  • $IF->Convolution_NettetePlus();
  • $IF->output('JPEG', 'nouvelle_image.jpg', true, 100);
  • $taille_nouvelle = $IF->getImageSize();
require_once('_ImageFilter.php');

$IF= new _ImageFilter;
$IF->loadImage('pingouins.jpg', $info);

$taille_depart = $IF->getImageSize();

$taille_fixe = array();
$taille_fixe['w'] = '400';
$taille_fixe['h'] = '400';
$IF->resize($taille_fixe['w'],$taille_fixe['h'],'ratio',false);

$IF->sepia();
$IF->colorize(0, 255, 255, 0);
$IF->negative();
$IF->grayscale(1);
$IF->mosaic(3);
$IF->Blur(2);
$IF->Edge(-4);
$IF->Sharpen(5);
$IF->flip('h');
$IF->rotation(90);
$IF->stamp('imageBack.jpg', 0, 0, 'normal');
$IF->Geometriques_CartesienVersPolaire();
$IF->Geometriques_PolaireVersCartesien();
$IF->Deformation_Torsion(M_PI);
$IF->Deformation_Oeildepoisson(0.05);
$IF->Deformation_Spirale(3/4*M_PI, 50);
$IF->Deformation_Ondulations(10, 70);
$IF->Artistiques_PeintureHuile(3, 30);
$IF->Couleurs_GrisNormalNaturel(false);
$IF->Couleurs_GrisNormalNaturel(true);
$IF->Couleurs_NB();
$IF->Couleurs_RVB(true, true, false);
$IF->Couleurs_Contraste(100);
$IF->Couleurs_Luminosite(100);
$IF->Couleurs_Gamma(2,2,2);
$IF->Couleurs_HSB(70,-30,-10);
$IF->Couleurs_Saturation(40);
$IF->Couleurs_Coloriser(116, 0.39);
$IF->Convolution_Adoucir();
$IF->Convolution_AdoucirPlus();
$IF->Convolution_Flou();
$IF->Convolution_FlouPlus();
$IF->Convolution_FlouGaussien(3);
$IF->Convolution_Nettete();
$IF->Convolution_NettetePrincipale();
$IF->Convolution_NettetePlus();

$IF->output('JPEG', 'nouvelle_image.jpg', true, 100);
$taille_nouvelle = $IF->getImageSize();

Conclusion

Si vous avez des idées d'améliorations n'hésitez pas.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de Steph115 le 02/06/2008 09:57:51

En espérant que ca aide beaucoup de personnes

signaler à un administrateur
Commentaire de codefalse le 02/06/2008 19:43:52 administrateur CS

Tu sais que Gd et maintenant GD2 permet de faire pas mal de chose, de mani?re plus puissante (car ?tant cod? en c). Maintenant pour ton code, je te conseil de bien tout d?couper en classe, car genre Geometriques_CartesienVersPolaire, tu pourrais faire une classe G?om?trie par exemple, idem pour Convolution, etc.
Le but ?tant d'avoir un code l?g?. Je ne pense pas que Java aient fait cela en 3 classes si ?

signaler à un administrateur
Commentaire de mouchimouchi le 04/06/2008 11:38:43 9/10

pour l'avoir tester elle reste non abouti
Elle est serviable tr?s utile mais bon certaine fonctions passe avec certains parametres
- distortion
- Deformation_Spirale
- Deformation_Ondulations
- je n'ai pas tt tester encore ...

Enfin bon elle donne un r?sultat presque bon et plein d'erreurs

signaler à un administrateur
Commentaire de tex73 le 06/06/2008 10:54:27

salut à tous!
je ne sais pas comment vous l'avez tester mais chez le lancement  de l'application en local(wampserver2) affiche plutot le code source.
pourriez-vous m'aider?

signaler à un administrateur
Commentaire de Steph115 le 06/06/2008 10:59:18

Bonjour TEX73,

Par défaut dans wampserver il faut activer l'option shortopentag dans la config de PHP.

ou alors dans le code tu modifie <? par <?php

Cordialement,

signaler à un administrateur
Commentaire de tex73 le 06/06/2008 12:05:29

je prefere activer les shortags et çà marche super bien!
merci pour l'aide.

signaler à un administrateur
Commentaire de tex73 le 06/06/2008 12:53:14

salut! j'apprecie vraiment ta source mais tu devrais eviter d'utiliser simultanement <? et <?php.
Il ne coute pourtant rien d'ecrire ceci dans la pade "index":
.parent{
width:<?php echo $taille_fixe['w'];?>px;
height:<?php echo $taille_fixe['h'];?>px;
text-align:center;
vertical-align:middle;
background-color:#999999;
}
.fils{
width:<?php echo $taille_nouvelle['w'];?>px;
height:<?php echo $taille_nouvelle['h'];?>px;
border:0px;
margin-left:auto;
margin-right:auto;
position:relative;
top:50%;
margin-top:-<?php echo $taille_nouvelle['h']/2;?>px;
}
pour permettre à ton application de fonctionner proprement sur tout serveur php.
Une autre idée d'ammelioration serait d'integrer un formulaire d'upload d'images avec un menu/liste d'options permettant de definir l'action à effectuer sur l'image.
pas de note pour l'instant.

signaler à un administrateur
Commentaire de Steph115 le 06/06/2008 14:29:42

Merci de ton post.

C'est vrai que je pourrais remplacer <?= par <?php echo
Après c'est une habitude de programmation, travaillant tout le temps sur des framework j'utilise plutôt {$variable}.
Ce qui m'amènes à la deuxième remarque, j'ai vraiment voulu poster cette classe car je n'arrivais pas à en trouver une seule sur le net qui fasse toutes ces fonctions.
C'est vrai que je pourrais poster également un petit formulaire d'upload ce n'est vraiment pas cela le plus compliqué, mais je n'ai vraiment pas le temps de créer ce formulaire et comme je te l'expliquais je travail au boulot sur un framework interne.
Donc les classes utilisé pour uploader des fichiers ne seront pas dispo.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

GD : Algo pour "Tourbillon" sur une image [ par porciner ] Bonjour,Je cherche une méthode pour créer un effet particulier sur une image.Voici le type d'effet que je souhaite réaliser en PHP :Si quelqu'un à une Traitement d'image (couper une partie) [ par Jits_ ] Bonjour, Je cherche une fonction php qui me permettrait de couper une image en 4 .En gros je souhaiterai partir d'une image, et en générer 4 .Si mon i Effet image [ par tales ] Bonjour,Je voulais savoir comment afficher une image tourner vers la gauche, vers la droite, avec une inclinaison différente:Je m'explique:J'utilise l Dom [DEPLACE] [ par Yahaaaaaa ] bjrs jaimerai avoir del'aide sur le dom(javascript) mon but et de prendre en selection un text ou une image et davoir son path ,je veu dir que jai le Upload image erreur [ par lucas78180 ] Filigrane [ par PaTaTe ] Bonjour,J'aimerais appliquer un filigrane répété sur une image mais je n'y arrive pas. Pour être plus précis, voici un exemple : j'ai une image toto.j Hardcore headers :O [ par sbool ] header("Content-type: image/jpeg" );Hello ;)J'ai codé toute la soirée pour rien apparemment, mais j'aimerais que quelqu'un me le confirme ou me démont insertion d'images sur MySQL [ par Euskalor ] Salut à toutes et à tous !Je souhaiterais savoir comment faire pour mettre une image dans une base de donnée MySQL via un code PHP. Etant débutant en affichage image temporaire [ par joebuz ] bonjour,j'ai un form avec upload d'image, je souhaiterais pouvoir afficher l'image temporaire pour confirmation client avant de l'enregistre


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,671 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.