Rechercher dans la communauté

Affichage des résultats pour les étiquettes 'photo'.



Plus d’options de recherche

  • Rechercher par étiquettes

    Saisir les étiquettes en les séparant par une virgule.
  • Rechercher par auteur

Type du contenu


Forums

  • Forums généraux
    • Over Game
    • Discussions générales
    • Section Membre Premium
    • Recrutement Modérateur - Animateur - Rédac'
  • Jeux Vidéo
    • Actu Jeux Vidéo
    • Ankama Games
    • Blizzard
    • Minecraft
    • League Of Legends
    • FPS
    • Mmorpg
    • Grand Theft Auto
    • Aeria Games
    • Teams
    • Autres Jeux
    • Consoles
  • Informatique & High-Tech
    • Programmation
    • Graphisme et Désign
    • Marketing Digital
    • Systèmes d'exploitation
    • Mobiles et tablettes
    • Réalité virtuelle
  • Archives
    • Archives Corbeilles
  • Team LOL OG.eu Topics de Team LOL OG.eu
  • Avale et Raval Topics de Avale et Raval
  • Team_Minecraft Topics de Team_Minecraft

Calendriers

  • Community Calendar

16 résultats trouvés

  1. Débloquer tous les trophée Snapchat

    Salut tous le monde! Si vous êtes un addict de snapchat Voici le tuto pour débloquer tous les trophée ou plutôt la signification de chaque trophée cacher La vidéo :
  2. Alors, vous avez carte blanche ! Vous me screenerez juste les 2 et m'envoierai le lien des screens en mp ! Merci
  3. LB photo réalisme 1.2.5 Texture Pack de Minecraft Photo réalisme LB 1.2.5 Texture Pack - Télécharger Photo LB Texture Réalisme Pack pour Minecraft 1.2.5. Ce pack de texture disponible avec 16 × 16, 32 × 32, 64 × 64, 128 × 128 et 256 × 256 Un pack de texture la plus populaire est appelé photo-réalisme LB! ce n'est paquets HD texture Minecraft sont immensément populaires pour une raison: les gens veulent leur monde Minecraft à regarder aussi réaliste que possible. Il ya d'autres raisons aussi, mais je voudrais vivre dans un monde en noir et blanc où les opinions diverses et les motivations peuvent se résumer en une phrase simple. LB photo réalisme 1.2.5 Descriptions Texture Pack Un dense et de haute qualité Pack texture réaliste qui apporte un tout nouveau look et la sensation pour le match. Lush graphiques, couleurs éclatantes et des détails extrême, ce pack de texture se décline en 4 tailles différentes, allant de la meute taille originale graphiques texture de 256 × 256 pixels fous détail carré. Wow si intéressant le droit paquet texture? Big remerciement et de crédit doit aller à hublots pour fait de cette impressionnante photo réalisme LB 1.2.5 Texture Pack Site : LB Photo Realism 1.2.5 Texture Pack Minecraft 1.2.5 | Download Minecraft Téléchargements : — Minecraft 1.2.5 (16x) — Minecraft 1.2.5 (32x) — Minecraft 1.2.5 (64x) — Minecraft 1.2.5 (128x) LB Photo Realism 256×256 /!\ Attention 256 x 256 (PC performant recommander) /!\ MCpatcher :[Logiciel] MC Patcher [1.2.5] | Minecraft-France | Communauté Française Lien de téléchargement direct :mcpatcher-2.3.6_03.exe
  4. Coucou je vient d'inventer un jeu vous devez avoir une photo d'un membre et la poster sur ce topic puis donner les 3 première lettres de son name OG , il doit ce reconnaitre ! pas mal non ? Aller je commence : son nom : The
  5. bonjour je cherche un graphiste retoucheur de photo je donne un compte Wow Full Extension + abonné 1 mois ( me mp je vais vous dire ce que je veux ) ou [email protected]
  6. EFFET PUZZLE SUR VOS PHOTO AVEC PHOTOFILTRE Quoi de plus simple ? Vous pouvez ensuite imprimer puis coller la photo sur un carton épais, découper les puzzles et amuser vos enfants... Ou faire plaisir à Mamy. Ouvrez votre photo dans Photofiltre, allez dans Filtre puis Esthétique et enfin sur Puzzle Choisissez la taille des pièces pour votre puzzle, la couleur et aussi l'épaisseur. Faites un aperçu puis Ok si le résultat vous convient. C'est fini source: ***
  7. Voilà un aperçu du résultat final Avant de commencer vous devez télécharger le pack de ressource utilisée dans le tuto « Lien1 » ou « Lien2 » puis ouvrez un nouveau document de 1900x1200 pixels , résolution 72Dpi couleurs RVB8bits puis remplissez le fond avec du noir en utilisant l'outil pot de peinture (G). Ajoutez un calque de remplissage dégradé en allant dans Menu > Calque > Nouveau calque de remplissage > Dégradé. Ensuite pixellisez votre calque de remplissage en allant dans Menu > Calque > Pixellisation > Calque , ensuite prenez l'outil gomme (E) avec une dureté de 0% et effacez des parties du dégradé comme ceci. J'ai créé des sphères 3D ainsi que des fragments de la même couleur avec Cinema 4D un tuto sera publier prochainement, mais dans celui-là ils sont disponibles directement dans le pack de ressource proposée en téléchargement en haut. Importez la sphère dans votre document Prenez l'outil doigt et essayez de créer-avec un effet de fondu au niveau inférieur de la sphère, pour obtenir l'effet réglez l'intensité de votre outil à 100% et variez la taille du pinceau, mettez-vous à l'endroit voulu, maintenez le clique et glissez le curseur vers le bas. Ensuite dupliquez ( Ctrl+J) votre sphère plusieurs fois tout en changeant sa rotation Importez la deuxième sphère dans votre document et ajustez-la comme ceci Appliquez dessus un filtre flou gaussien en allant dans Menu > Filtre > Atténuation > Flou Gaussien. Importez les fragments suivants dans votre document Importez les sphères suivantes dans votre document Mettez-vous sur la sphère noire du haut, prenez l'outil doigt et créez l'effet de fondu et pour celle du bas effacez la partie inférieure. Ensuite importez la pyramide 3D suivante dans votre document et ajustez-la comme ceci Importez la texture suivante dans votre document. Changez son mode de fusion en superposition . Nous allons maintenant créer une grille, pour le faire créez un nouveau calque, remplissez-le avec du noir et allez dans Menu > Filtre > Point de fuite avec votre souris dessinez une grille en créant quatre poignés. Pour afficher la grille directement sur le calque cliquez sur le bouton Paramètre de command de point de fuite dans le menu en haut puis cochez Rendu des grilles vers Photoshop enfin sur ok pour pouvoir voir la grille dans votre calque. Changez la couleur de la grille en allant dans Menu > Image > Réglages > Teinte et saturation Changez son mode de fusion en éclaircir et réduisez son opacité à 30% . Prenez l'outil gomme (E) et effacez les contours de votre grille Faites une sélection rectangulaire à l'aide de l'outil rectangle de sélection (M) . Prenez l'outil Pinceau (B) , la couleur Blanche , un diamètre de 500pixels, une dureté de 0% et dessinez hors la zone de sélection pour obtenir juste l'effet dégradé blanc qui dépasse. Changez son mode de fusion en Lumière tamisée Ouvrez l'image du Lézard suivante et détourez-le puis importez la sélection dans votre document de travail. Dupliquez-le ( Ctrl+J ) et désaturez-le en allant dans Menu > Image > Réglages > Désaturation. Changez son mode de fusion en incrustation Récupérez la sélection du lézard en allant dans Menu > Sélection > Récupérer la sélection, créez un nouveau calque et coloriez la sélection avec les couleurs suivante #9c0098, #4d1d90, #0086a0 Changez son mode de fusion en incrustation Importez l'image des leurs suivantes dans votre document Changez son mode de fusion en éclaircir et ajustez-là au niveau du coup du lézard Prenez l'outil gomme (E) , et effacez les quelques partie de la texture pour donner l'impression qu'elle entour le lézard Dupliquez votre calque et déplacez l'image vers le bas comme ceci Importez la texture fractale suivante dans votre document Changez son mode de fusion en Superposition et pivotez-la en mettant le petit creux au niveau de l'½il Importez la troisième texture dans votre document Changez son mode de fusion en superposition puis déplacez-le au niveau du coup. Créez un nouveau calque ( Ctrl+Shift+N ), prenez l'outil pinceau (B) une forme ronde avec une dureté de 0% , les couleurs #fe03e7 , #11d5ff et dessinez au niveau des objets 3D et l'½il du lézard. Changez son mode de fusion en Densité couleur – et réduisez son opacité à 52%. Pour finir créez un autre calque, toujours avec l'outil pinceau (B) dessinez avec la couleur noire au niveau des pates du lézard. Changez son mode de fusion en lumière tamisée. Et voilà le résultat final Source : tutsps
  8. Tutoriel sous Photoshop CS5 détaillé sur comment supprimer une personne ou un objet sur une photo avec le contenu pris en compte (Content Aware)de façon facile et rapide, en utilisant des techniques de niveau débutant. _________________________________________________________________________________ Logiciel : Photoshop CS5 Niveau : Débutant Durée de réalisation : 10 min approx. Résultat Photo de base : Étape 1 : Ouvrer la photo que vous désirez modifier dans Photoshop. (Fichier -) Ouvrir ou CTRL+O) Ensuite, dupliquer cette photo. (clic droit sur le calque et dupliquer le calque) (Voir image) Nous allons travailler sur la photo dupliquer de cette manière si nous faisons une erreur il est plus facile de revenir en arrière. Étape 2 : Dans cette étape, nous allons utiliser l’outil plume pour créer une sélection de notre personne à supprimer. Donc, prenez l’outil plume (P) et contourner la personne. (Voir image) Étape 3 : Ensuite, clic droit sur la sélection (toujours avec l’outil plume) et cliquer sur définir une sélection. Indiquer le rayon à 0 pixels et cocher lissé. Étape 4 : Par la suite, aller dans Éditions -) remplir… (Maj + F5) Ensuite, choisissez dans le contenu avec contenu pris en compte (content Aware) (Voir image) Vous remarquez que notre sélection a disparu de façon à ce que le font soit pris en compte. Étape 5 Si vous remarquez des imperfections sur les contours. Vous pouvez prendre l’outil tampon de duplication(S) pour corriger le contour (Alt + clic sur le côté pour prendre en compte la sélection et ensuite cliquer sur le contour.) Vous pouvez également refaire l’étape 4, c’est-à-dire sélection les imperfections et ensuite aller dans éditions -) remplir -) contenu pris en compte. Résultat final Autre Exemple :
  9. Tutoriel sous Photoshop CS5 sur comment appliquer sur une photo un flou sélectif. En bref, nous allons travailler avec le masque de fusion afin de contrôler notre effet de flou sur notre photo. Dans ce tutoriel, nous allons importer une photo, la dupliquer par la suite, appliquer un flou et le contrôler avec des outils simples et propres. Logiciel: Photoshop CS5 Niveau: Débutant Durée du tutoriel: 10 min approx. Étape 1 Importer votre photo dans Photoshop: Fichier -) Ouvrir. _____________________________________________________________________________ Étape 2 Dupliquer votre photo dans un autre calque. Click gauche sur votre calque (en bas à droite de l'écran), ensuite dupliquer le calque. _______________________________________________________________________________ Étape 3 Appliquer un flou gaussien sur votre calque : filtre -) atténuation -) flou gaussien ____________________________________________________________________________ Étape 4 Créer un masque de fusion sur votre calque. Sélectionner votre calque et ensuite appuyer sur l'icon (carré avec un cercle blanc à l'intérieur) ____________________________________________________________________________ Étape 5 Utiliser l’outil dégrader afin d’effacer le flou sur la photo. Lorsque l’on peinture en noir sur le masque de fusion, on efface tout simplement l’effet sur la photo. Pour remettre, l’effet nous avons qu’à peinturer en blanc sur le masque. _____________________________________________________________________________ Image finale
  10. Le géant du réseau social Facebook a subi une vague de photos pornos, et de clichés d’une rare violence ces derniers jours. De nombreux utilisateurs se sont plaints après avoir remarqué des images extrêmement choquantes qui apparaissaient sur leur page Facebook. Des clichés de pratiques sexuelles insoutenables avec des personnes victimes d’une violence inouïe. Ces photos circulent par le biais de liens postés par tel ou tel ami. Et pourtant, les victimes de ces spams n’y seraient pour rien. Il s’agirait plus probablement du fait de hackers, de piratages informatiques, que les salariés de Facebook ne parviennent pas à supprimer. Pourquoi ? A cause des virus cachés derrière les images de stars ou autres liens qui semblent anodins – sans danger – pour l’utilisateur qui les ouvre. Mais une fois le clic effectué, c’est déjà trop tard et l’utilisateur n’est plus maître de son propre compte Facebook pour le résultat que l’on sait. Cette attaque virale proviendrait du groupe Anonymous, qui avait prédit qu’il détruirait Facebook il y a quelques jours. même si pour l’heure, aucune revendication n’a encore été faite par Anonymous. Quoi qu’il en soit, face à ce torrent de violence et de pornographie, beaucoup d’abonnés Facebook ont décidé de quitter le réseau social.
  11. 1.) Nous ouvrons notre photo dans Gimp et à l'aide d'un outil de sélection, nous sélectionnons la zone de la photo que nous souhaitons encadrer : 2.) Nous cliquons droit sur notre calque dans la fenêtre des calques (Fenêtres -> Fenêtres ancrables -> calques ou CTRL+L au clavier) et cliquons sur Ajouter un masque de calque.... Là nous sélectionnons Noir (transparence totale). Nous nous retrouvons alors avec une image toute transparente. En effet tout ce qui est noir sur le masque de calque, rend notre photo transparente. Ainsi nous allons colorier notre sélection en blnac afin de faire apparaitre notre lézard. En cliquant droit sur notre calque nous vérifions que modifier le masque de calque est bien coché. Nous prenons l'outil de remplissage ,sélectionnons la couleur blanche et cliquons dans notre sélection : le lézard réapparait! Ainsi tout ce qui est blanc sur le masque laisse "passer" l'image de la photo, tout ce qui est noir rend la photo transparente : 3.) Nous allons maintenant rendre le bord du cadre flou. Pour cela nous cliquons droit sur notre calque et affichons le masque de calque en cochant Afficher le maque de calque (je sais vous n'auriez pas deviné tout seul ) ). Nous annulons notre sélction précédente par le menu Sélection -> Aucune ou CTRL+MAJ+A au clavier. Par le menu Filtres -> Flou -> Flou gaussien, nous appliquons un flou à notre masque de calque : Nous cliquons droit à nouveau sur notre calque et décochons Afficher le masque de calque. Notre lézard apparait avec une bordure flou : Il ne nous reste plus qu'à passer par le menu Image -> Découpage automatique de l'image afin de ne conserver que ce qui nous intéresse d'enregistrer notre image dans un format qui gère la transparence (PNG ou GIF) et le tour est joué ! 4.) Il est bien sur possible en modifiant le masque de calque avec par exemple les outils de menu Filtres -> Distorsions -> Déformation interactive, de créer un entourage plus complexe : Source : GimpTutoriel
  12. Voilà un aperçu du résultat final Avant de commencer notre montage, téléchargez le pack des ressources utilisées dans le tuto puis ouvrez un nouveau document de 1300x1600 pixels résolution 72Dpi couleurs RVB8bits . Ensuite allez dans Menu > Filtre > Correction de l'objectif. Téléchargez l'image du danseur suivant Réf : #9182962. Détourez le danseur en utilisant l'outil baguette magique (W) Importez l'image détourée dans votre document de travail Maintenant prenez l'outil gomme (E) , sélectionnez les brushes que vous avez téléchargés avec le pack en haut et effacez la partie inférieur de notre model. Créez un nouveau calque ( Ctrl+Shift+N ), et allez dans Menu > Calque > Créer un masque d'écrêtage Prenez l 'outil pinceau (B) , une forme rond et colorez le torse du model avec du Noir http://tutsps.com/images/Montage_photo_abstrait_avec_photoshop/Montage_photo_abstrait_avec_photoshop6.jpg Ajoutez maintenant un calque de réglage Courbe allant dans Menu > Calque > Nouveau calque de réglage > Courbe et créez un masque d'écrêtage Créez un nouveau calque, mettez le derrière le calque du model, prenez l'outil pinceau (B), les brushes que vous avez téléchargés avec une opacité de 7 et 27% et dessinez les formes suivantes Tuto Montage photo abstrait avec photoshop Créez un autre calque, mettez le derrière le calque du model et dessinez des éclaboussures noires comme ceci De la même façon dessinez les formes suivantes Prenez maintenant l'outil ellipse (U) , dessinez un rond noir et mettez le juste devant le calque du fond. Dessinez un autre rond plus grand comme ceci Rendez-vous dans les options de fusion Importez l'image suivante dans votre document Allez dans Menu > Calque > Masque de fusion > Tout masquer cela va vous créer un masque de fusion et masquer toute l'image. Prenez l'outil pinceau (B) , des brushes de peinture, couleur Blanche, mettez-vous sur le masque de fusion et cliquez une ou deux fois avec les différents brushes de peinture comme ceci. Dupliquez votre calque ( Ctrl+J ) et changez son mode de fusion en Lumière tamisée Créez un nouveau calque, prenez l'outil pinceau (B) , les brushes des Mains et dessinez une main blanche juste au niveau du torse de notre model. Importez la texture suivante dans votre document Ensuite allez dans Menu > Calque > Créer un masque d'écrêtage Dupliquez votre calque (Ctrl+J) et changez son mode de fusio n en Lumière tamisée Pour finir ajoutez d'autres détails comme des textes ou autre truc pour avoir le résultat final suivant
  13. J’ai trouvé un joli pack de textures 256*256,complètement compatible avec notre chère et tendre Beta 1.6. J’ai pris le soin de l’essayer,satisfaction garantie,du moins si votre PC vous le permet.(La bête est assez gourmande sans pour autant être vorace) On prend plaisir à arpenter un paysage devenu presque “neuf”,bien que cela puisse paraitre trop s’opposer au concept originel pour certains. Télécharger : LB Photo Realism x256 2.7.0.zip
  14. Bon alors j'ai écrit un petit tutoriel que vous pouvez voir iciIl vous permettra de réaliser ça : Pour ce faire, vous aurez besoin de quelques images : La demoiselle est ici : liquid by ~SaligiaStock on deviantART La flotte : ici et ici et ici. Vague: ici. Le surfeur : ici. Une fois tout ça regroupé, on peut y aller : Etape 1 Ouvrez un nouveau document de 1400px par 800px. Remplissez le en noir (Raccourci clavier : D (réinitialise les couleurs) puis alt + backspace) Ouvrez le photo de la demoiselle, collez la telle quelle dans votre nouveau document dans un nouveau calque appelé “Demoiselle” (par exemple). Appliquez le mode de fusion “superposition” (screen en anglais). Créez un calque d’effet “Niveau” avec ces réglages : Etape 2 Vous devriez désormais avoir votre demoiselle qui se fond dans le noir. A partir de maintenant, les calques que vous allez ajouter se placeront entre les calques “Demoiselle” et “Background”. Il est temps d’ouvrir les fichiers relatifs à l’eau. Commençons avec celle ci : Collez l’image dans un nouveau calque situé en dessous du calque de la demoiselle. Faites lui faire une rotation de 90° anti-horaire (Cmd + T pour transformer manuellement) et situez la de manière à ce que cela ressemble à ça : Appliquez le mode de fusion superposition, cela servira par la suite. Etape 3 : le ballon d'eau Nous allons désormais utiliser la photo suivante : Collez l’image telle quelle au dessus du calque de la première boule d’eau. Ce qui est intéressant avec cette photo c’est qu’on peut la déformer complètement sans pour autant détruire le sujet (à savoir les gouttes d’eau). Appliquez une rotation de 90 ° anti-horaire. Ecrasez l’image horizontalement afin qu’elle paraisse plus longue que large et positionnez la de manière à ce que le ballon soit au dessus du visage de la demoiselle : Passez le calque en mode superposition Voici la partie extrêmement difficile à expliquer mais qui en soit n’est pas très très dure : Créez un masque sur le calque du ballon (rappel : noir fait disparaitre, blanc fait réapparaître). Il s’agit de faire disparaitre la partie gauche du ballon en ne laissant que la partie des gouttelettes. Vous pouvez vous servir d’un dégradé radial pour commencer. Une fois le plus gros enlevé, prenez l’outil pinceau (B) avec un flux à 70% et faites réapparaitre un peu du ballon au niveau de l’oeil droit. Pour vous montrer, voici mon masque et le résultat : Etape 4 : le verre d'eau Récupérez l’image du verre d’eau, seules les éclaboussures nous intéresse. Par chance, l’image est très grande ce qui va nous faciliter bien des choses. Ici deux solutions s’offrent à vous, soit vous découpez l’image pour récupérer juste l’éclaboussure du verre d’eau (pas besoin de détourer, un bon gros carré de sélection suffira amplement), ou alors vous collez directement l’image et positionnez l’image de manière à ce que seule les éclaboussures soient visibles. Une fois l’image collée, passez le calque en mode superposition. Vous devriez arriver à quelque chose comme ça A partir de maintenant, vous pouvez si vous le désirez, rajouter des éclaboussures d’eau par-ci par-là histoire de donner un peu de dynamisme. Pour ma part je me suis servis de la première explosion d’eau avec des tailles différentes afin d’avoir ceci (n’oubliez pas de passer ces nouveaux calques en mode superposition : Etape 5 : le surfeur Récupérez le surfer, détourez le avec votre méthode préférée, une fois encore vous n’êtes pas obligé d’être extrêmement précis. Une fois détouré, il ne vous reste plus qu’à le placer sur la sorte de petite vague. Une fois placé, utilisez le mode de fusion éclaircir (lighten) : Etape 6 : la vague En soit cette étape est facultative, elle ne sert qu’à rajouter de la lumière une fois les derniers réglages mis en place. Récupérez donc l’image de la vague, collez la au dessus du calque de la demoiselle. Agrandissez la de manière à ce qu’elle occupe tout le document. Créez un masque, utilisez le dégradé radiale pour enlever toute l’image sauf la partie où les écumes volent. Réglez l’opacité du calque sur 45% et utilisez le mode de fusion “superposition”. Vous pourrez rejouer sur l’opacité par la suite selon l’éclairage que vous désirerez. Etape 7 : le brouillard Pour cette étape, j’aime utiliser la technique du flou directionnel, cela marche avec tout et cela permet de mettre un peu de hasard dans vos créations. Dupliquez le calque de la demoiselle (cmd + j), placez ce calque juste au dessus de celui du background. Désaturez l’image (Cmd + shift + U) puis appliquez lui deux fois un flou directionnel (42 °, 645px). Vous devriez avoir une jolie trainée grisâtre. Cela marche avec n’importe quelle photo. Etape 8 : les finitions Au dessus de tous les calques, ajoutez un calque d’effet Courbe avec approximativement ce règlage : Ajoutez ensuite un calque d’effet noir et blanc Créez un nouveau calque par dessus tous les autres. Remplissez-le (shift + f5) avec un joli rose (j’ai utilisé #bf1689). Baissez l’opacité à 40% et passez le calque en mode incrustation (overlay). Vous devriez en être ici : Vous pouvez vous arrêter là si cela vous convient, sinon une chose que j’aime faire en général c’est rajouter une texture coloré en rapport avec mon sujet. Vous trouverez par exemple de très jolies bulles chez Resugere. Choisissez une des photos, collez la sur un nouveau calque au dessus des autres et appliquez lui un mode de fusion incrustation ou couleur pour des effets plutôt sympathiques. Voila vous avez terminé. J’espère que cela vous a plus.:wink:
  15. Bonjour, Nous allons donc voir comment faire pour mettre en place un mini script permettant de gérer une galerie de photos. Notre script pourra gérer les formats JPEG et PNG pour nos miniatures. Pour ce faire, nous allons naturellement utiliser la librairie graphique de PHP, la librairie GD. Pour ce comment faire, nous allons étudier deux cas de figures bien distincts dans l'utilisation de la librairie GD : - premier cas : l'administrateur du script utilisera une interface d'administration pour uploader ses photos, et quant à PHP, il va créer une miniature de l'image sur le disque dur du serveur. Dans ce cas, PHP va donc créer un fichier image sur le serveur qui sera la miniature de l'image chargée. - second cas : les miniatures vont être créés à la volée. Cela veut donc dire que l'administrateur du script n'aura qu'à uploader ses images via son client FTP sur son espace WEB, et ce sont les visiteurs du site qui vont "créer" à la volée l'affichage des miniatures. Notez bien que dans ce cas de figure, aucun fichier représentant la miniature de la grande image ne sera créée sur le serveur. Etude du premier cas Définissons tout d'abord une structure de fichiers. A la racine de notre script, nous allons avoir : - un répertoire admin contenant un fichier index.php permettant de générer nos miniatures - un répertoire mini qui contiendra nos miniatures - un répertoire pics qui contiendra nos "grandes images" (images brutes de transformation) - un fichier index.php qui affichera notre galerie (la partie cliente du script) En ce qui concerne la partie "cliente" de ce premier cas de figure (le fichier index.php à la racine du script), il n'y a aucune difficulté particulière. En effet, notre script va simplement se contenter de parcourir le dossier mini afin de compter le nombre de miniatures à afficher. Puis, une fois toutes les miniatures connues, il va simplement afficher ces miniatures munies d'un lien permettant de visualiser les images de grande taille. On aura alors sur index.php : ><html> <head> <title>Ma galerie</title> </head> <body> <?php // on déclare un tableau qui contiendra le nom des fichiers de nos miniatures $tableau = array(); // on ouvre notre dossier contenant les miniatures $dossier = opendir ('./mini/'); while ($fichier = readdir ($dossier)) { if ($fichier != '.' && $fichier != '..' && $fichier != 'index.php') { // on stocke le nom des fichiers des miniatures dans un tableau $tableau[] = $fichier; } } closedir ($dossier); // on défini le nombre de colonne sur lesquelles vont s'afficher nos miniatures $nbcol=2; // on compte le nombre de miniatures $nbpics = count($tableau); // si on a au moins une miniature, on les affiche toutes if ($nbpics != 0) { echo '<table>'; for ($i=0; $i<$nbpics; $i++){ if($i%$nbcol==0) echo '<tr>'; // pour chaque miniature, on affiche la miniature munie d'un lien vers la photo en taille réelle echo '<td><a href="pics/' , $tableau[$i] , '"><img src="mini/' , $tableau[$i] , '" alt="Image" /></a></td>'; if($i%$nbcol==($nbcol-1)) echo '</tr>'; } echo '</table>'; } // si on a aucune miniature, on affiche un petit message else echo 'Aucune image à afficher'; ?> </body> </html> Il nous reste maintenant à gérer la partie admin de ce script qui générera les miniatures. Comme nous l'avons vu plus haut, dans ce script, c'est l'administrateur du script qui va lancer la création des miniatures en créant des fichiers images sur le disque dur du serveur, fichiers images, qui seront des miniatures des images de taille "normale". Ce fichier PHP contiendra donc un formulaire permettant de charger un fichier, puis, dans la partie traitement de ce formulaire, nous devrons tester si le fichier uploadé est bien une image, et enfin, le script devra copier cette grande image dans son repertoire associé (pics) mais aussi générer la miniature dans le répertoire mini. De plus, cette page nous permettra également de supprimer des images de notre galerie. Pour ce faire, nous allons aussi afficher les miniatures déjà générées munies d'un lien permettant de les supprimer. Dans ce cas, on prendra soin de bien supprimer l'image de grande taille, mais aussi sa miniature. On aura alors sur noytre page admin.php : ><?php // on défini le répertoire où sont stockées les images de grande taille $dir = '../pics'; // on défini le répertoire où seront stockées les miniatures $dir_mini = '../mini'; // on défini une variable $ratio qui vaudra 150 dans notre cas (150 pixels). En fait, pour nos miniatures, nous allons respecter le ratio de l'image originale, mais nous allons forcer sa taille à 150 pixels, soit en hauteur soit en largeur (tout dépend de l'orientation de notre image : paysage ou portrait). $ratio = 150; // on teste si le formulaire permettant d'uploader un fichier a été soumis if (isset($_POST['go'])) { // on teste si le champ permettant de soumettre un fichier est vide ou non if (empty($_FILES['mon_image']['tmp_name'])) { // si oui, on affiche un petit message d'erreur $erreur = 'Aucun fichier envoyé.'; } else { // on examine le fichier uploadé en récupérant de nombreuses informations sur ce fichier (je vous suggère de regarder la documentation de la fonction getimagesize pour de plus amples informations) $tableau = @getimagesize($_FILES['mon_image']['tmp_name']); if ($tableau == FALSE) { // si le fichier uploadé n'est pas une image, on efface le fichier uploadé et on affiche un petit message d'erreur unlink($_FILES['mon_image']['tmp_name']); $erreur = 'Votre fichier n\'est pas une image.'; } else { // on teste le type de notre image : jpeg ou png if ($tableau[2] == 2 || $tableau[2] == 3) { // si on a déjà un fichier qui porte le même nom que le fichier que l'on tente d'uploader, on modifie le nom du fichier que l'on upload if (is_file('../pics/'.$_FILES['mon_image']['name'])) $file_upload = '_'.$_FILES['mon_image']['name']; else $file_upload = $_FILES['mon_image']['name']; // on copie le fichier que l'on vient d'uploader dans le répertoire des images de grande taille copy ($_FILES['mon_image']['tmp_name'], $dir.'/'.$file_upload); // il nous reste maintenant à générer la miniature // si notre image est de type jpeg if ($tableau[2] == 2) { // on crée une image à partir de notre grande image à l'aide de la librairie GD $src = imagecreatefromjpeg($dir.'/'.$file_upload); // on teste si notre image est de type paysage ou portrait if ($tableau[0] > $tableau[1]) { $im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio); imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]); } else { $im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1])); imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]); } // on copie notre fichier généré dans le répertoire des miniatures imagejpeg ($im, $dir_mini.'/'.$file_upload); } elseif ($tableau[2] == 3) { $src = imagecreatefrompng($dir.'/'.$file_upload); if ($tableau[0] > $tableau[1]) { $im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio); imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]); } else { $im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1])); imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]); } imagepng ($im, $dir_mini.'/'.$file_upload); } // on redirige l'administrateur vers l'accueil de la partie admin header('location: index.php'); exit(); } else { // si notre image n'est pas de type jpeg ou png, on supprime le fichier uploadé et on affiche un petit message d'erreur unlink($_FILES['mon_image']['tmp_name']); $erreur = 'Votre image est d\'un format non supporté.'; } } } } // on teste si le formulaire permettant de supprimer un fichier à été soumis if (isset($_GET['del'])) { if (empty($_GET['del'])) { // si le paramètre n'est pas renseignée, on affiche un petit message d'erreur $erreur = 'Aucune image à supprimer'; } else { $pic_a_zapper = $_GET['del']; // si l'image existe ainsi que sa miniature, on les supprime if (is_file('../mini/'.$pic_a_zapper) && is_file('../pics/'.$pic_a_zapper)) { unlink('../mini/'.$pic_a_zapper); unlink('../pics/'.$pic_a_zapper); } // si l'image ou la miniature n'existe pas, on affiche un message d'erreur else { $erreur = 'Image non reconnue'; } } } ?> <html> <head> <title>Ma galerie - Admin</title> </head> <body> <!-- on affiche un formulaire permettant d'uploader une image --> Ajouter une photo à la galerie :<br /><br /> <form action="index.php" method="post" enctype="multipart/form-data"> <input type="file" name="mon_image" /> <input type="submit" name="go" value="Envoyer" /> </form> <hr /> <!-- on affiche toutes les miniatures munies d'un lien permettant de supprimer les images --> Supprimer une photo de la galerie (cliquer sur la miniature pour supprimer la photo) :<br /><br /> <?php // l'étude de cette portion de code a déjà été faite plus haut $tableau = array(); $dossier = opendir ('../mini/'); while ($fichier = readdir ($dossier)) { if ($fichier != '.' && $fichier != '..' && $fichier != 'index.php') { $tableau[] = $fichier; } } closedir ($dossier); $nbcol=2; $nbpics = count($tableau); if ($nbpics != 0) { echo '<table>'; for ($i=0; $i<$nbpics; $i++){ if($i%$nbcol==0) echo '<tr>'; // on affiche un lien sur la photo permettant de la supprimer echo '<td><a href="index.php?del=' , $tableau[$i] , '"><img src="../mini/' , $tableau[$i] , '" alt="Image" /></a></td>'; if($i%$nbcol==($nbcol-1)) echo '</tr>'; } echo '</table>'; } else echo 'Aucune image à afficher'; // si un message d'erreur est défini, on l'affiche if (isset($erreur)) echo '<br />' , $erreur; ?> </body> </html> Etude du second cas Dans ce second cas, comme nous l'avons vu plus haut, aucune miniature ne sera créée sur le disque dur du serveur. Dans ce cas, la librairie GD va générer des images miniatures à la volée. Pour ce cas, on aura la structure de fichiers suivante : - un fichier index.php permettant d'afficher les miniatures via un fichier mini.php - un fichier mini.php qui va générer les miniatures - un répertoire pics qui contiendra les photos de grande taille En ce qui concerne le fichier index.php de ce script, on a peu de choses à dire. Il ressemble très fortement à l'index.php du premier cas. En effet, ce script va se contenter de lister le contenu du répertoire pics (il va donc compter le nombre de grande image). Toutefois, on note une différence de taille comparée au premier cas. En effet, dans le premier cas, on se contentait d'afficher les miniatures avec un lien vers les grandes images associées. Dans ce second cas, les miniatures "n'existent pas" encore ! Que mettre dans notre balise html img ? Et bien, nous allons y placer un script PHP qui va créer une image. Comme ceci : ><img src="mini.php?f=toto.jpg" alt="Image" /> Regarder bien : pour afficher notre miniature, nous faisons appel au script mini.php qui va générer une miniature de la grande image toto.jpg. On aura alors le code suivant (index.php) : ><html> <head> <title>Ma galerie</title> </head> <body> <?php // cette portion à déjà été détaillé $tableau = array(); $dossier = opendir ('./pics/'); while ($fichier = readdir ($dossier)) { if ($fichier != '.' && $fichier != '..' && $fichier != 'index.php') { $tableau[] = $fichier; } } closedir ($dossier); $nbcol=2; $nbpics = count($tableau); if ($nbpics != 0) { echo '<table>'; for ($i=0; $i<$nbpics; $i++){ if($i%$nbcol==0) echo '<tr>'; // noter bien que l'on place un lien vers le fichier mini.php qui va générer nos miniatures. On ajoute un argument, le nom de fichier image à miniaturiser echo '<td><a href="pics/' , $tableau[$i] , '"><img src="mini.php?f=' , $tableau[$i] , '" alt="Image" /></a></td>'; if($i%$nbcol==($nbcol-1)) echo '</tr>'; } echo '</table>'; } else echo 'Aucune image à afficher'; ?> </body> </html> Passons maintenant à l'étude du fichier mini.php. Comme nous l'avons vu précédemment, ce fichier fera en gros le travail de la partie admin du premier cas : on lui donne en paramètre le nom d'un fichier image, et il va générer une miniature de ce fichier. On aura alors (mini.php) : ><?php // on défini notre ratio pour nos miniatures (CF. plus haut pour des explications $ratio = 150; // on défini le répertoire qui contient nos images de grande taille $dir = './pics'; // si aucune image n'est donnée en arguments, on redirige le visiteur vers l'accueil de la galerie if (!isset($_GET['f'])) { header('location: index.php'); exit(); } else { // on récupère le nom de fichier à miniaturiser $image = $_GET['f']; // on récupère les infos de cette image $tableau = @getimagesize('./pics/'.$image); // si il ne s'agit pas d'un fichier image, on redirige le visiteur vers l'accueil de la galerie if ($tableau == FALSE) { header('location: index.php'); exit(); } else { // si notre image est de type jpeg if ($tableau[2] == 2) { // on crée une image à partir de notre grande image à l'aide de la librairie GD $src = imagecreatefromjpeg($dir.'/'.$image); // on teste si notre image est de type paysage ou portrait if ($tableau[0] > $tableau[1]) { $im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio); imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]); } else { $im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1])); imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]); } // contrairement au premier cas où l'on créait un fichier sur le disque dur, ici, comme on génère des images à la volée, on envoie un header au navigateur web du visiteur lui disant que le fichier mini.php va en fait générer une image de type jpeg, soit du type mime image/jpeg. header ("Content-type: image/jpeg"); imagejpeg ($im); } elseif ($tableau[2] == 3) { $src = imagecreatefrompng($dir.'/'.$image); if ($tableau[0] > $tableau[1]) { $im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio); imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]); } else { $im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1])); imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]); } header ("Content-type: image/png"); imagepng ($im); } } } ?> D'après ces deux méthodes afin de créer une galerie, plusieurs conclusions nous sautent aux yeux : - le premier cas consommera beaucoup moins de ressources serveur, tout simplement parce que chaque miniature ne sera générée qu'une seule fois par l'administrateur, ce qui implique une plus grande vitesse d'affichage - pour le deuxième cas, dès que l'on demande d'afficher une miniature, PHP est obligé de la générer à chaque fois, ce qui implique un traitement lourd. - le deuxième cas est plus simple à gérer pour l'administrateur, car il n'a pas à créer chaque miniature une par une, il peut tout simplement envoyer 50 photos dans son répertoire via son client FTP, les miniatures se feront automatiquement - pour le premier cas, l'administrateur doit prendre le temps d'uploader toutes ses photos une par une La meilleure solution reste tout de même une combinaison de ces deux techniques. En effet, on peut très bien adapter ces scripts afin que l'administrateur charge via son client FTP 50 photos dans un répertoire, puis, dans sa partie admin, il va cliquer sur un lien "générer les miniatures" afin que PHP génère les 50 miniatures d'un seul coup et qu'il les places dans les bons répertoires (ce que je vous conseille de faire). Merci !