Showing posts with label photoshop. Show all posts
Showing posts with label photoshop. Show all posts

Tuesday, October 18, 2016

the end of desktop apps (picasa, Windows Photo Gallery). Choose a free app (with open source), freeware? Example of image organizer, photo editor and photo sharing service.

Microsoft announced that Windows Photo Gallery will no longer be supported or be made for download after January 10, 2017.
Google announced that Picasa will no longer be supported or be made for download after March 15, 2016.
They said "focusing on the cloud-based Google Photos or one drive"...
----
We still need a desktop image organizer & photo editor with touch-up abilities (not strictly viewers).

A comparison:

https://en.wikipedia.org/wiki/Image_organizer
http://www.photosorting.com/


few image organizers with photo edition by build-in features.

Some desktop image softwares (open source and cross-platform):


-https://www.digikam.org/
  • free and open source (and binaries for windows, macOSX, linux, unix)
  • decorate is too simple (insert text with only some rotations 90°,180°),
  • no manual corrections (as local blur)

-https://krita.org/en/download/krita-desktop/
  • Krita is a free and open source painting tool designed for concept artists, illustrators, matte and texture artists, and the VFX industry. 
  • binaries for windows, macOSX, linux
-http://nomacs.org/
nomacs is a free, open source image viewer, which supports multiple platforms (mac (with mac port), linux windows).It is able to browse images in zip or MS Office files which can be extracted to a directory.
if you are frequently using Matlab and you want the image sync functionality of nomacs, you can download this Matlab script and add it to your Matlab folder. Matlab images can then be displayed by typing:
>> nomacs(myImg, []);
BAD: editing an image is too poor.


freeware windows and MAC)

JetPhoto Studio 
http://www.jetphotosoft.com/web/home/
Good: Users can review photos on a map showing the locations where each shot was taken. JetPhoto matches digital photos with time-synchronized GPS tracks to locate photos automatically.
Present photos on Google Earth and Google Maps
Now launch 'Google Earth' which displays the locations of all these GPS-located photos or package both the photo files and GPS tracks into one KMZ file that can be shared easily and opened with Google Earth anytime later!
JetPhoto Studio also gives you the ability to easily generate a web gallery and link all your GPS located photos on a Google Map!
Uses Google Maps API v3.
http://www.jetphotosoft.com/gmap/demo_list.gmap/
http://www.jetphotosoft.com/gmap/demo_jpstudio5.gmap/

BAD: editing an image is too poor.

freeware  (windows)

the best:
http://www.irfanview.com/
Only windows, fast program, some plugins
also:
-http://www.faststone.org/FSViewerDetail.htm

-http://www.xnview.com/en/xnviewmp/
Multi-Platform, organiser, media browser, viewer,
the program is an excellent viewer but almost useless for photo sorting
no manual correction, no text tool...



Ref:
https://www.netdiggers.com/picasa-alternatives/
https://www.cnet.com/how-to/comparing-the-best-ways-to-store-your-photos-online/
https://www.cloudswave.com/socia-media/s/flickr-pro/compare/phanfare-vs-smugmug-premium-vs-zenfolio/
https://blogs.esri.com/esri/arcgis/2016/09/13/story-maps-and-picasa/
http://www.idownloadblog.com/2016/01/16/best-cloud-photo-storage-iphone/


--------------

Online w/ App

-https://pixlr.com/
only photo editor,
and desktop apps:
multi-platform (windows, mac, mobile ios android,web app).

-http://www.sumopaint.com/
web app

https://www.befunky.com/
3 web apps

https://www.picmonkey.com/
4 web apps

https://picsart.com/
iOS, Android, and Windows and web app.

-------
freeware/shareware
http://www.picajet.com/en/index.php?page=features


PS:
Graphicsmagick is used to process billions of files at the world's largest photo sites (e.g. Flickr and Etsy).
-http://www.graphicsmagick.org/
(free and open source)

Saturday, December 29, 2012

faire/charger/modifier un script photoshop ou indesign (fichier .atn et .jsx javascript) et tous les produits adobe; Exemple pour faire un pavage d'image ou une mosaique d'image ou une matrice d'image ou une grillle d'img. (seamless tiles))

liste des scripts  :

http://www.scriptopedia.org/

------------------------------- (. jsx)
Exemple pour faire un pavage d'image ou une mosaique d'image ou une matrice d'image ou une grillle d'img.

Un script de placement d'images sur un document :
Il faut juste régler les variables de la section "Paramètres".
L'image résultat est créée dans le répertoire qui contient le répertoire des images à rassembler.


Code:

/************************************************************************
                PAVAGE D'UNE IMAGE
 ************************************************************************
 09/06/2012 Habaki V1r02 : Adaptation
 13/02/2012 Habaki V1r01 : Creation
 ************************************************************************/
var jpegOptions     = new JPEGSaveOptions();
/*----------------------------------------------------------------------*
            Parametres
 *----------------------------------------------------------------------*/
jpegOptions.quality    = 12;         // Qualite jpeg
var DocPrefix        = "pavage";    // Prefixe Fichier resultat

var ImgNbH    = 5;        // Nb d'images horizontalement
var ImgNbV    = 10;        // Nb d'images verticalement
var Resolution    = 72;        // Resolution (Pixels/Inch)
var DocH    = 2835;        // Taille horizontale doc resultat (pixels)
var DocV    = 2835;        // Taille verticale   doc resultat (pixels)
var DocMode    = NewDocumentMode.RGB;
var CfgMode    = 0;    // Configuration (OU de flags):
            // 1: Garder les claques, sinon les fusionner
            // 2: Tourner les images paysages
/*----------------------------------------------------------------------*
            Globals
 *----------------------------------------------------------------------*/
var DocMain;        // Document principal
var MailleH;        // Maille horizontale
var MailleV;        // Maille verticale
var ImgNum = 0;        // Numero d'image
/*----------------------------------------------------------------------*
                        Traite un fichier
 *----------------------------------------------------------------------*/
function FileProcess(
        file
        )
{
  var Doc;
  var Sel;
  var Layer;    // calque
  var Coord;
  var V, H, PosX, PosY;
  var RatioH, RatioV;
  
  // Selection fichiers seulement
  if (file instanceof Folder) return(false);
  
  // Copie l'image dans le clipboard
  Doc = open(file);
  Sel = Doc.selection;
  Sel.selectAll();
  Sel.copy();
  Sel.deselect();
  Doc.close(SaveOptions.DONOTSAVECHANGES);
  
  // Coller l'image dans le doc final
  Layer = DocMain.paste();
  Layer.name = "Img" + ++ImgNum; 
  
  // Lecture dimensions
  // Coord: TopLeftX,TopLeftY,BottomRightX, BottomRightY
  Coord = Layer.bounds;
  H = Coord[2] - Coord[0];    // Largeur
  V = Coord[3] - Coord[1];    // Hauteur
  
  if ((CfgMode & 2) && H > V) {
    // Image paysage => Rotation -90
    Layer.rotate(-90, AnchorPosition.MIDDLECENTER);
    Coord = Layer.bounds;
    H = Coord[2] - Coord[0];    // Largeur
    V = Coord[3] - Coord[1];    // Hauteur
  }
  
  // Position destination 
  PosX = MailleH * (((ImgNum-1) % ImgNbH));
  PosY = MailleV * (Math.floor((ImgNum-1) / ImgNbH));
  
  // Dimensionnement dans la maille
  RatioH = MailleH*100 / H;
  RatioV = MailleV*100 / V;
  RatioH = Math.min(RatioH, RatioV);
  if (RatioH != 100) {
    Layer.resize(RatioH, RatioH, AnchorPosition.TOPLEFT);
    Coord = Layer.bounds;
  }
  
  //alert("PosX="+PosX+ ", PosY="+PosY+", X="+Coord[0]+", Y=" + Coord[1]);
  // Deplacement
  PosX -= Math.floor(Coord[0]);
  PosY -= Math.floor(Coord[1]);
  Layer.translate(PosX, PosY);
  
  if ((CfgMode & 1)==0) Layer.merge();    // Fusionner
  return(true);
}
/*----------------------------------------------------------------------*
            Main
 *----------------------------------------------------------------------*/
var RulerUnits = preferences.rulerUnits;
preferences.rulerUnits = Units.PIXELS;
try{
  var MainPath = prompt("Repertoire a traiter ?", "/c/images/photoshop/scripts/grille/imgs");
  var MainDir  = File(MainPath);
  var DocName  = DocPrefix + "_" + MainDir.name;
  
  // Creation document resultat
  MailleH = DocH / ImgNbH;
  MailleV = DocV / ImgNbV;
  
  // Units: bpi
  DocMain = app.documents.add(DocH, DocV, Resolution, DocName
                              ,DocMode
                              ,DocumentFill.WHITE
                              );
  
  // Scan all files in MainDir
  MainDir.getFiles(FileProcess);
  
  // Sauvegarde
  DocMain.saveAs(new File(MainDir.path + "/"
                          + "/" + DocName + ".jpg"), 
                          jpegOptions, true);
  
} catch(ex) {
  alert(ex.message)
}
preferences.rulerUnits = RulerUnits;
alert("Fini");
 
 
 
 
 
 
 
------------------------------------------
http://habaki.over-blog.com/pages/Placement_dImages_sur_une_Grille--7866603.html
 
 script plus complet
Ce script permet de placer un ensemble d'images selon une grille sur un fond d'une taille donnée.

/************************************************************************
                PAVAGE des IMAGES d'un REPERTOIRE sur une GRILLE
 ************************************************************************
 Les images JPG d'un repertoire sont disposes en grille sur un document
 qui est sauvegarde en JPG.
 ************************************************************************
 10/06/2012 Habaki V1r03 : Ajout des marges, gaps et qq configs
 09/06/2012 Habaki V1r02 : Adaptation
 13/02/2012 Habaki V1r01 : Creation
 ************************************************************************/
var jpegOptions  = new JPEGSaveOptions();
/*----------------------------------------------------------------------*
   Parametres
 *----------------------------------------------------------------------*/
jpegOptions.quality = 12;   // Qualite jpeg
var DocPrefix  = "pavage"; // Prefixe Fichier resultat
var ImgNbH = 5;  // Nb d'images horizontalement
var ImgNbV = 3;  // Nb d'images verticalement
var Resolution = 72;  // Resolution (Pixels/Inch)
var DocH = 1000;       // Taille horizontale doc resultat (pixels)
var DocV = DocH*3/5;  // Taille verticale   doc resultat (pixels)
var DocMode = NewDocumentMode.RGB;
//var DocColor = DocumentFill.WHITE;
var DocColor = DocumentFill.BACKGROUNDCOLOR;
var MarginH = 50;  // Marge horizontale (pixels)
var MarginV = 50;  // Marge verticale   (pixels)
var GapH = 10;  // Separation horizontale entre images (pixels)
var GapV = 20;  // Separation verticale   entre images (pixels)
var CfgMode = 0; // Configuration (OU de flags):
   // 1: Garder les calques, sinon les fusionner
   // 2: Tourner les images paysages
   // 4: Centrer les images dans la maille
/*----------------------------------------------------------------------*
   Globals
 *----------------------------------------------------------------------*/
var DocMain;  // Document principal
var MailleH;  // Maille horizontale
var MailleV;  // Maille verticale
var ImgNum = 0;  // Numero d'image
/*----------------------------------------------------------------------*
                        Traite un fichier
 *----------------------------------------------------------------------*/
function FileProcess(
        file
        )
{
  var Doc;
  var Sel;
  var Layer; // calque
  var Coord;
  var V, H, PosX, PosY;
  var RatioH, RatioV;
  var St;

  // Selection fichiers seulement
  if (file instanceof Folder) return(false);
  St = file.name.toLowerCase();
  // Selection .jpg seulement
  if (St.lastIndexOf(".jpg") != St.length-4) return(false);
  // Feuille remplie
  if (ImgNum >= ImgNbH * ImgNbV) return(false);

  // Copie l'image dans le clipboard
  Doc = open(file);
  Sel = Doc.selection;
  Sel.selectAll();
  Sel.copy();
  Sel.deselect();
  Doc.close(SaveOptions.DONOTSAVECHANGES);

  // Coller l'image dans le doc final
  Layer = DocMain.paste();
  Layer.name = "Img" + ++ImgNum;

  // Lecture dimensions
  // Coord: TopLeftX,TopLeftY,BottomRightX, BottomRightY
  Coord = Layer.bounds;
  H = Coord[2] - Coord[0]; // Largeur
  V = Coord[3] - Coord[1]; // Hauteur

  if ((CfgMode & 2) && H > V) {
    // Image paysage => Rotation -90
    Layer.rotate(-90, AnchorPosition.MIDDLECENTER);
    Coord = Layer.bounds;
    H = Coord[2] - Coord[0]; // Largeur
    V = Coord[3] - Coord[1]; // Hauteur
  }

  // Position destination
  PosX = MarginH + (MailleH + GapH)* (((ImgNum-1) % ImgNbH));
  PosY = MarginV + (MailleV + GapV)* (Math.floor((ImgNum-1) / ImgNbH));

  // Dimensionnement dans la maille
  RatioH = MailleH*100 / H;
  RatioV = MailleV*100 / V;
  RatioH = Math.min(RatioH, RatioV);
  if (RatioH != 100) {
    Layer.resize(RatioH, RatioH, AnchorPosition.TOPLEFT);
    Coord = Layer.bounds;
    H = Coord[2] - Coord[0]; // Largeur
    V = Coord[3] - Coord[1]; // Hauteur
  }
  if (CfgMode & 4) {
    // Centrage
    PosX += (MailleH-Math.floor(H))/2;
    PosY += (MailleV-Math.floor(V))/2;
  }

  //alert("PosX="+PosX+ ", PosY="+PosY+", X="+Coord[0]+", Y=" + Coord[1]);
  // Deplacement
  PosX -= Math.floor(Coord[0]);
  PosY -= Math.floor(Coord[1]);
  Layer.translate(PosX, PosY);

  if ((CfgMode & 1)==0) Layer.merge(); // Fusionner
  return(true);
}
/*----------------------------------------------------------------------*
   Main
 *----------------------------------------------------------------------*/
var RulerUnits = preferences.rulerUnits;
preferences.rulerUnits = Units.PIXELS;
try{
  var MainPath;
  var MainDir;
  var DocName;
  var BL;
  var DefaultDir;

  DefaultDir = (new File($.fileName)).path;
  MainDir = Folder(DefaultDir).selectDlg("Repertoire a traiter ?");
  DocName  = DocPrefix + "_" + MainDir.name;

  // Cadre pour chaque image
  MailleH = (DocH - 2*MarginH - (ImgNbH-1)*GapH) / ImgNbH;
  MailleV = (DocV - 2*MarginV - (ImgNbV-1)*GapV) / ImgNbV;

  // Units: bpi
  // Creation document resultat
  DocMain = app.documents.add(DocH, DocV, Resolution, DocName
                              ,DocMode
                              ,DocColor
                              );
  DocMain.activeLayer.name = "Fond";

  // Scan all files in MainDir
  MainDir.getFiles(FileProcess);

  // Sauvegarde
  DocMain.saveAs(new File(MainDir.path + "/"
                          + "/" + DocName + ".jpg"),
                          jpegOptions, true);

} catch(ex) {
  alert(ex.message)
}
preferences.rulerUnits = RulerUnits;
//alert("Fini");


 
Les images sont redimensionnées et éventuellement retournées.  
Il est possible de règler les marges, le centrage et les espaces entre images. 
Toutes les valeurs modifiables se trouvent rassemblées dans la section "Parametres", mais ce script sert aussi de base pour d'autres scripts nécessitant des placements d'images plus spécifiques. 
---------------

Voici comment charger les scripts dans la palette Photoshop®.


Etape 1 :

Dans un premier temps, vous devez afficher la palette des scripts: cliquez sur
fenêtre puis sur "afficher scripts".


Etape 2 :

Allez dans la palette des scripts et cliquez sur la flèche en noir en
haut à droite, un menu apparait.Cliquez sur "charger les scripts".

Etape 3 :

Sélectionnez un script que vous aurez préalablement télécharger
et mis dans un dossier. Cliquez sur Ok.

c-a-d: aller rechercher le fichier .atn que vous venez de télécharger, puis valider. Magique : le groupe de scripts apparaît dans la palette

Etape 4 :

Votre script apparait dans la palette, sélectionnez-le et cliquez sur
le bouton "lecture" pour qu'il s'exécute.

---------------




autre méthode:
enregistrez les fichiers dans le répertoire désiré (je conseille le chemin d’accès des actions Photoshop, soit C:\Program Files\Adobe\Adobe Photoshop CS2\Presets\Photoshop Actions !  
-------------
 POUR CREER UN SCRIPT ATN  appelant un script.jsx
http://a.themes.free.fr/SCRIPTSjsx/TutoScriptAtnJsx.html 


Le fichier javascript est un fichier texte avec l extension .JSX - placez le dans "C:\Program Files\Adobe\Adobe Photoshop CS2\Paramètres prédéfinis\Scripts" .
 
-------------

C'est quoi un script .atn sur Photoshop ?

Un script est un ensemble d'actions pré-enregistrées qui s'exécutent automatiquement.
Pour ouvrir la console, Fenêtre => Scripts ou Alt + F9

 -----------
http://www.siteduzero.com/tutoriel-3-36731-les-scripts-sous-photoshop.html 
 
 -------
ref: http://forum.photoshop-school.org/ftopic10309.php 
 
 ---------------------------------------------------------
 autres:
 
 plug-in
 
 
 
 
http://www.adobe.com/support/downloads/product.jsp?product=39&platform=Macintosh 
 
--------
http://smashinghub.com/25-best-photoshop-cs6-tutorials.htm