Le forum pour tous les photographes et les amateurs de photographies depuis 2005.

Retourner vers Forum spécial photoshop

Exporter pour le web photoshop cs6

Ce forum réservé à photoshop vous permettra d’échanger des tutos ainsi que des scripts à télécharger afin de vous aider à retoucher au mieux vos photos.

Exporter pour le web photoshop cs6

Messagepar bibou » 17 Déc 2015, 22:45


Exporter pour le web photoshop cs6


Il y a t-il des experts de l'exportation avec photoshop cs6 ? La difficulté est de trouver le bon dosage entre compression et qualité. Mais avez vous des astuces pour perdre le moins de qualité possible tout en comprimant suffisamment une image ?
J'ai eu plusieurs vies et à chaque fois c'est les mêmes passions qui reviennent ! C'est grave docteur ?
Avatar de l’utilisateur
bibou
Oueb hamster
 
Messages: 10286
Enregistré le: 06 Avr 2005, 01:51
Localisation: Valence (26)
materiel: Mon clavier et un pola

Re: Exporter pour le web photoshop cs6

Messagepar michgorg » 18 Déc 2015, 11:47


Pour enregistrer une photo avec CS6 je procède de la sorte :

Je clique sur fichier et enregistrer pour le WEB
Tuto-export-WEB-1.jpg
La photo à ce stade peu avoir la taille normale ou redimensionné aucune importance
Tuto-export-WEB-1.jpg (171.74 Kio) Vu 2791 fois


Je clique dans le petit menu en haut à droite et dans la fenêtre qui s'ouvre et sur optimiser la taille du fichier
tuto-export-2.jpg
vérifier la dimensions et que les exifs soient sélectionnées
tuto-export-2.jpg (207.12 Kio) Vu 2791 fois


Régler la taille du fichier à 295 ko et valider par ok
export-web-3.jpg
export-web-3.jpg (186.83 Kio) Vu 2791 fois


Vérifier le taux de compression avant d'enregistrer, si il est au dessus de 80% c'est bon, depuis qu'on est passé à 300 ko il n'y a pas de soucis, sinon je passait par photofiltre pour enrgistrer.
tuto-export--4.jpg
Il n'y a plus qu'à enregistrer dans le dossier que vous souhaitez
tuto-export--4.jpg (178.36 Kio) Vu 2791 fois


J'espère que c'est compréhensible hinhin
Amicalement
Michel

Concours de Septembre et octobre : Le sport ici

CDC des membres : ici




« Une photographie, c'est un fragment de temps qui ne reviendra pas. »
Martine Franck
Avatar de l’utilisateur
michgorg
Modérateur
 
Messages: 22321
Enregistré le: 01 Avr 2007, 11:09
Localisation: Muret
materiel: Pentax K3 - Pentax 50 1,8 - Sigma 17/70 2,8-4 Comtempory - Sac Lowerpro - trépied Hama et Joby.

Re: Exporter pour le web photoshop cs6

Messagepar Optimix » 04 Jan 2016, 09:22


La solution du fainéant (JE) consiste à utiliser un script. Tu copies le code dans ton bloc-notes, tu le sauvegardes où tu veux avec le nom de ton choix et l'extension .JSX sur ton disque dur et tu le lances à partir de la commande Fichier>Scripts>Parcourir...
L'image sera directement optimisée au format PP et sauvegardée dans le sous-dossier ../sauvegarde/

Code: Tout sélectionner
// MAC Finder ou WINDOWS Explorer, on autorise le double clic  et on fait passer Photoshop au 1er plan
#target photoshop
app.bringToFront();

// On mémorise les paramètres de l'utilisateur pour pouvoir les restaurer en fin de traitement
var regleUnite = app.preferences.rulerUnits;
app.preferences.rulerUnits = Units.PIXELS;

// Déclarations des variables
var tailleMax = 300; // Ko
tailleMax *=1024; // Conversion en Octets
var fileName = new File();
var fileTemp = new File();
var qlt = 100; // Inutile de démarrer la qualité à 0
var taille=500000;
       
var inputFolder = Folder.selectDialog("Sélectionnez le dossier contenant l'image à traiter : ");
var outputFolder = Folder(inputFolder + "/sauvegarde");
// On crée un sous-dossier pour sauvegarder l'image optimisée pour le Web
if (!outputFolder.exists) outputFolder.create();
app.displayDialogs = DialogModes.NO;

var selectedFile = inputFolder.openDlg("Selectionnez une Image : " , "Select:*.jpg");
var docRef = open(selectedFile);
var docName  = docRef.name;
var docName  = docName.substring( 0, docName.indexOf('.') );
var largeur = docRef.width;
var hauteur = docRef.height;

// On retaille l'image en respectant son ratio
if (largeur>hauteur) // Format paysage
{
   hauteur = 800*hauteur/largeur;
   largeur = 800;
}
else if(largeur<hauteur) // Format portrait
{
   largeur = 800*largeur/hauteur;
   hauteur = 800;   
}
else // Format carré
{
   largeur = 600;
   hauteur = 600;
}

// On retaille l'image dans la dimension maximum imposée
docRef.resizeImage(largeur, hauteur);

var exportOptionsSaveForWeb = new ExportOptionsSaveForWeb();
exportOptionsSaveForWeb.format = SaveDocumentType.JPEG;
exportOptionsSaveForWeb.includeProfile = true;

alert("Cliquez sur [OK] et veuillez patienter quelques secondes.");

while (taille > tailleMax)
{
   fileName = File(docRef.path + "/sauvegarde/" + docName+qlt+".jpg");
   exportOptionsSaveForWeb.quality = qlt;
   docRef.exportDocument (fileName, ExportType.SAVEFORWEB, exportOptionsSaveForWeb);
   qlt-=1;
   taille = fileName.length;
   if (taille>tailleMax)
   {
      fileName.remove();      
   }
}

// On restaure les préférences de l'utilisateur et on referme le document sans modification
app.preferences.rulerUnits = regleUnite;
app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
qlt+=1;
alert("Traitement terminé. L'image a été sauvegardée dans le sous-dossier ../sauvegarde/ avec une qualité optimale de "+qlt+ " %");


Inutile d'ouvrir la photo à optimiser avant de lancer le script, il se charge de tout.
Optimix
Eleve ppnaute
 
Messages: 289
Enregistré le: 17 Déc 2013, 19:36
Localisation: Proximité Annecy (74)
materiel: Nikon D3x - Nikon Df - Leica m4-P.

Re: Exporter pour le web photoshop cs6

Messagepar cathy26 » 25 Jan 2016, 10:02


je vous remercie tous deux. je vais étudier cela à tête reposée, car certaines choses ressemblent à du chinois pour moi :wink:
oups!!!! bien vu bibou et merci, ainsi aurais je plus de détails ainsi posté.
Avatar de l’utilisateur
cathy26
PPnaute addict
 
Messages: 9899
Enregistré le: 04 Jan 2015, 16:57
Localisation: drôme
materiel: 1200 canon
+ 18-55mm canon
+ 60macro canon
+ 17-70 mm sigma

Re: Exporter pour le web photoshop cs6

Messagepar txuku1 » 25 Jan 2016, 13:45


Bonjour

Optimix

La qualite varie de 0 a 100 avec ExportOptionsSaveForWeb...

J utilise JPEGSaveOptions ou elle varie de 0 a 12 avec un avertissement si elle est trop basse.

Le script risque d etre un peu lent ?

Mieux peut etre avec une approche qlt-=10; puis un dernier while avec qlt-=1; ??
Gagner du temps en traitement c est reflechir un peu a la prise de vue.
txuku1
Eleve ppnaute
 
Messages: 484
Enregistré le: 25 Mar 2013, 11:59
Localisation: Bayonne 64

Re: Exporter pour le web photoshop cs6

Messagepar Optimix » 26 Avr 2016, 17:29


Désolé, je n'ai jamais vu qu'il y avait une suite à ce fil.
La méthode qui me semble la plus rapide consiste effectivement à descendre les marche 10 par 10, à remonter de 10 marches dès qu'on est passé en-dessous de la taille maximum, puis de redescendre ensuite marche par marche jusqu'à la bonne valeur.
J'avais écrit le script ci-dessous pour PP et ses propres contraintes (300 Ko, 600x600 pixels et 600x800 ou 800x600 pixels) en tenant compte du ratio 4/3 des photos à exporter. Mais comme comme cela ne semble pas intéresser grand monde, je me suis contenté de le mettre sur le forum d'Adobe.
Le script ci-dessous optimise pour le forum de PP toutes les photos au format JPEG d'une arborescence de dossiers et les enregistre dans le dossier ../sauvegarde.
Tu as raison, c'était dommage pour le liseré noir, ça l'est encore plus pour un traitement par lots de ce type.

Code: Tout sélectionner
// Permet un double clic à partir du Finder de Macintosh Finder ou de l'Explorer de Windows
#target docRefshop
app.bringToFront();

// On travaille en pixels
var rulerPreference = app.preferences.rulerUnits;
app.preferences.rulerUnits = Units.PIXELS;

alert("Après avoir lancé ce script, vous devez attendre le message de fin de traitement.");

// L'utilisateur choisit ici la plus grande dimension pour ses images et son poids maximum
var maxSize = 300; // en Ko
maxSize *=1024; // Conversion en octets
// On traite une à une toutes les images en skippant les messages d'alerte (profils colorimétriques)
app.displayDialogs = DialogModes.NO;

var dossierOrigine = Folder.selectDialog("Sélectionnez le dossier où se trouvent vos images : ");
var dossierDestination = Folder(dossierOrigine+'/sauvegarde');
if (!dossierDestination.exists) dossierDestination.create();
if (dossierOrigine != null)
{
   listeFichiers = scanDossier(dossierOrigine);
   if (listeFichiers.length > 0)
   {
      for (i = 0;i<listeFichiers.length;i++)
      {
         var docRef = listeFichiers[i];
         var dossierOrigine=docRef.path+"/";
         var docName = "@"+docRef.name;
         app.open (docRef);

         var largeur1 = app.activeDocument.width;
         var hauteur1 = app.activeDocument.height;
         // Format carré
         if (largeur1==hauteur1)
         {
            var largeur2 = 600;
            var hauteur2 = 600;
         }
         //Format paysage
         if (largeur1>hauteur1)
         {
            if (largeur1/hauteur1<4/3)
            {
               var hauteur2 = 600;
               var largeur2 = Math.round(600 * largeur1 / hauteur1);
            }
            else
            {
               largeur2 = 800;
               hauteur2 = Math.round(800 * hauteur1 / largeur1);;
            }
         }
         else // Portrait
         {
            if (hauteur1/largeur1<4/3)
            {
               var largeur2 = 600;
               var hauteur2 = Math.round(600 * hauteur1 / largeur1);
            }
            else
            {
               largeur2 = 600;
               hauteur2 = Math.round(600 * hauteur1 / largeur1);
            }
         }
         
         // Retaille les images et les optimise pour le Web 
         app.activeDocument.resizeImage(UnitValue(largeur2,"px"),null,100,ResampleMethod.BICUBICSHARPER); 
         exportation();
      }
   }
}

// Fonction récursive pour mettre dans un tableau toutes les images trouvées dans une arborescence
function scanDossier(dossier) {
   var listeFichiers = [],
   fileList = dossier.getFiles(),i, file;
   
   for (i = 0; i < fileList.length; i++) {
      file = fileList[i];
      if (file instanceof Folder) {
         listeFichiers = listeFichiers.concat(scanDossier(file));
      }
      else if (file instanceof File && file.name.match(/\.(jpg|tif|psd|bmp|gif|png|)$/i)) {
         listeFichiers.push(file);
      }
   }
   return listeFichiers;
}

function exportation()
{
   var fichierTemp = File(dossierDestination + '/_tmp.jpg');
   var qualite = 100; // On commence en qualité maximum
   ExportWeb(fichierTemp, qualite);   
    
   // On dégrossit par pas de 10% pour gagner du temps     
   while (fichierTemp.length > maxSize) 
   { 
      qualite -= 10; 
      fichierTemp = new File(fichierTemp);     
      fichierTemp.remove(); 
      ExportWeb(fichierTemp, qualite);   
   }

   // On affine par pas de 1%
   if (qualite<100)
   {
      qualite+=10;
      fichierTemp = new File(fichierTemp);     
      fichierTemp.remove(); 
      ExportWeb(fichierTemp, qualite);   
      while (fichierTemp.length > maxSize) 
      { 
         qualite -= 1;
         fichierTemp = new File(fichierTemp);     
         fichierTemp.remove();
         ExportWeb(fichierTemp, qualite);   
      }
   }

   // On ferme le document original, on charge l'image optimisée et on la sauvegarde 
   activeDocument.close(SaveOptions.DONOTSAVECHANGES);
   open(fichierTemp);
   var sauvegarde = File(dossierDestination+'/'+docName);
   ExportWeb(sauvegarde, qualite);
   activeDocument.close(SaveOptions.DONOTSAVECHANGES);
   // Maintenant on peut détruire le fichier temporaire
   fichierTemp.remove();
 
   // Fonction d'optimisation pour le Web 
   function ExportWeb(fileName, qualite) 
   { 
      var options = new ExportOptionsSaveForWeb(); 
      options.quality = qualite;     
      options.format = SaveDocumentType.JPEG;     
      options.includeProfile = false;
      options.interlaced = false;
      options.optimized = true;    
      app.activeDocument.exportDocument(fileName, ExportType.SAVEFORWEB, options);    
   }
}
// On restaure les préférences de l'utilisateur - Fin de traitement
app.preferences.rulerUnits=rulerPreference;
alert("Fin de traitement. Les fichiers optimisés ont été sauvegardés dans le dossier \"../sauvegarde\" et commencent par le caractère \"@\".");   
Optimix
Eleve ppnaute
 
Messages: 289
Enregistré le: 17 Déc 2013, 19:36
Localisation: Proximité Annecy (74)
materiel: Nikon D3x - Nikon Df - Leica m4-P.


Retourner vers Forum spécial photoshop

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

forum photo

forum photo

forum photo

forum photo

forum photo

forum photo