Redimensionner, compresser dans le terminal [Résolu] |
Bienvenue invité ( Connexion | Inscription )
Redimensionner, compresser dans le terminal [Résolu] |
1 Nov 2011, 10:06
Message
#1
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 951 Inscrit : 19 May 2005 Lieu : Chateauneuf du pape Membre no 39 495 |
coucou
Bonjour a tous.. voici ce que je cherche a faire dans le terminal. ouvrir un fichier jpeg le redimensionner hauteur et largeur en pixel.(par exemple 800 *600) ou encore la hauteur et la largeur liée Et le compresser a 120 ko maxi. Alors je n'ai aucune idée de la difficulté a faire ceci ni même si cela est faisable !! en tout cas merci par avance de vote attention. -------------------- Musique techno avec MAO (Logic Pro)
des que quelqu'un a du pouvoir il croit détenir la vérité... Des que quelqu'un a un clavier il A la la vérité.(Forcément) |
|
|
1 Nov 2011, 10:24
Message
#2
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 4 969 Inscrit : 26 Jan 2011 Lieu : Pollachius virens Membre no 164 083 |
Personnellement je fais ça avec http://www.imagemagick.org que j'ai installé avec macports
-------------------- MBP 2017 15" avec clavier pourri et touchbar inutile
|
|
|
1 Nov 2011, 10:49
Message
#3
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 951 Inscrit : 19 May 2005 Lieu : Chateauneuf du pape Membre no 39 495 |
coucou;
Merci beaucoup.. j'arrive pas a installer MacPorts-2.03 je suis sous leopard. xcode n'est pas installe ou a été installé ave UNIX developpement (10.5 +) ou command line support (10.4) deselected. Je crois aussi que je me suis trompe de forum.. cest plutot dans software --->unix. ?désole pour cette erreur Ce message a été modifié par hubeert - 1 Nov 2011, 12:25. -------------------- Musique techno avec MAO (Logic Pro)
des que quelqu'un a du pouvoir il croit détenir la vérité... Des que quelqu'un a un clavier il A la la vérité.(Forcément) |
|
|
1 Nov 2011, 13:19
Message
#4
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 486 Inscrit : 29 Aug 2002 Membre no 3 340 |
Homebrew est une alternative à MacPorts, le peu que je l'ai utilisé m'a satisafait : Pas de hierarchie parallèle à celle du système, tout reste dans un folder nommé Cellar (la cave).
J-P |
|
|
1 Nov 2011, 19:22
Message
#5
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 4 969 Inscrit : 26 Jan 2011 Lieu : Pollachius virens Membre no 164 083 |
Homebrew est une alternative à MacPorts, le peu que je l'ai utilisé m'a satisafait : Pas de hierarchie parallèle à celle du système, tout reste dans un folder nommé Cellar (la cave). J-P Exact j'utilise homebrew sur mon deuxième mac. J'ai omis de citer cette alternative. -------------------- MBP 2017 15" avec clavier pourri et touchbar inutile
|
|
|
Guest_EricaL**_* |
2 Nov 2011, 18:39
Message
#6
|
Guests |
Bonjour,
voici ce que je cherche a faire dans le terminal. ouvrir un fichier jpeg le redimensionner hauteur et largeur en pixel.(par exemple 800 *600) ou encore la hauteur et la largeur liée C'est possible de faire cela sans rien installer. Voici la syntaxe de la commande Code sips -Z 800 -s formatOptions 95 fichier.jpg -Z va redimensionner proportionnellement l'image à 800 pixels (la hauteur ou la largeur selon le plus grand).-s formatOptions est la qualité de l'image, 100 est la meilleure qualité de l'image et le moins compressé, 0 est la moins bonne qualité de l'image et le plus compressé. Pour une dimension fixe, la syntaxe de la commande sera Code sips -z 800 600 -s formatOptions 95 fichier.jpg le z est en minuscule 800=hauteur, 600=largeur.Donc pour avoir une taille en octets désirée, il faut vérifier sa taille et compresser le fichier en baissant le taux de qualité si nécessaire. Le mieux est de créer un script shell, au lieu de vérifier la taille du fichier et taper la commande à chaque fois. Voici le script Code #!/bin/bash let quality=$1 let dimension=$2 let octets=$3 shift 3 for f in "$@";do /usr/bin/sips -Z $dimension -s formatOptions $quality "$f" let size=$(/usr/bin/stat -f "%z" "$f") if [ $size -ge $octets ]; then decreaseQuality=$quality while [[ $size -ge $octets && $decreaseQuality -ge 0 ]];do /usr/bin/sips -s formatOptions $decreaseQuality "$f" --out "$f"compressTemp let size=$(/usr/bin/stat -f "%z" "$f"compressTemp) let decreaseQuality=decreaseQuality-10 done /bin/mv -f "$f"compressTemp "$f" fi done Pour le rendre exécutable: Code chmod u+x /le chemin du script shell Voici la syntaxe dans le terminal pour utiliser le script shell Code redimCompressScript.sh 70 800 286000 fichier.jpg fichier2.jpg redimCompressScript.sh est le chemin du script shell 70 est la qualité 800 est la dimension 286000 sera la taille maximale en octets du fichier compressé fichier.jpg est le chemin de l'image (on peut mettre une liste de chemins) Si la taille en octets du fichier est trop grand par rapport à la taille désirée, il créera un fichier temporaire, sinon l'image sera pixelliser, à cause qu'il compressera le fichier plusieurs fois, si nécessaire, le fichier temporaire sera renommé pour remplacer le fichier original dès que le fichier aura atteint la taille désirée ou moins. Le taux de qualité diminuera de 10 à chaque fois, vous pouvez l'ajuster selon votre choix Bien attendu que si la qualité descend en bas 0 le script actuel ne pourra plus rien faire pour diminuer la taille en octets du fichier. Si on veut le faire par lots Code cd ~/Desktop/; redimCompressScript.sh 70 800 286000 *.jpg cet exemple traitera tous les fichiers .jpg du bureau
Ce message a été modifié par EricaL** - 2 Nov 2011, 18:48. |
|
|
2 Nov 2011, 22:48
Message
#7
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 951 Inscrit : 19 May 2005 Lieu : Chateauneuf du pape Membre no 39 495 |
coucou;
Admiratif.. trop génial ton code.. par contre j'ai deux soucis( du sans doute a ma méconnaissance du terminal et du man) mon fichier se trouve sur le bureau; je le nomme fichier.jpg je tape ta commande.. Code sips -Z 800 -s formatOptions 90 cd ~/Desktop/fichier.jpg cool en 1 milliardième de seconde mon fichier est aux dimensions mais il pèse 154k je veux donc le diminuer un peu encore mais la il ne trouve plus le le fichier ca vient de quoi? ( j'ai pas encore essayé le script shell; donc j'essaye d'avoir le bon poids par tâtonnement) que dois je écrire pour qu'il applique a nouveau "formatOptions" sur le fichier déjà manipulé? ou est pas possible.C'est a cause de cd? en fait je récris la meme commande mais il me dit que cd n'est pas un fichier..je sais pas trop comment faire ou alors faut tout reprendre de zero avec au lieu de formatOptions 90 je mets formatOptions 85.. Merci de tes lumière mais déjà merci infiniment Merci bien entendu a yponomeute et Jaypee de m'avoir aider aussi Merci beaucoup Ce message a été modifié par hubeert - 2 Nov 2011, 23:00. -------------------- Musique techno avec MAO (Logic Pro)
des que quelqu'un a du pouvoir il croit détenir la vérité... Des que quelqu'un a un clavier il A la la vérité.(Forcément) |
|
|
Guest_EricaL**_* |
3 Nov 2011, 03:19
Message
#8
|
Guests |
Bonjour,
par contre j'ai deux soucis( du sans doute a ma méconnaissance du terminal et du man) Oui, le problème c'est le cd Voici les commandes qui fonctionnera sans problèmes : Code sips -Z 800 -s formatOptions 90 ~/Desktop/fichier.jpg Après pour diminuer la taille Code sips -s formatOptions 85 ~/Desktop/fichier.jpg l'option -Z 800 n'est plus nécessaire, car il est déjà redimensionné, mais cela ne causera pas de problème si tu le laisses. Ce message a été modifié par EricaL** - 3 Nov 2011, 03:19. |
|
|
3 Nov 2011, 08:57
Message
#9
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 951 Inscrit : 19 May 2005 Lieu : Chateauneuf du pape Membre no 39 495 |
coucou;
merci infiniment. Ca venait aussi que j'oubliais la séparation entre la commande et le chemin du fichier !! Ca marche nickel J'arrive a le faire pour un dossier et c'est exceptionnellement rapide !! pour ceux que ca intéresse. Code sips -Z 800 -s formatOptions 90 ~/Desktop/monDossier/*.JPG ou tout autre extension jpeg; JEPG; jpg; JPG.. Ensuite je vais essayer avec ton script shell. Sais tu comment fonctionne formatOptions pour la compression ? a quoi correspond le ratio 90 par exemple? par exemple j'ai, une photo de 3,6 mega j'applique ta commande avec 90 elle se retrouve a 156 ko si je lui applique par dessus un 85 ca ne diminue que de 4 ko Par contre ou apprendre et ou trouver ce genre de commande que tu as donné? Merci encore. Ce message a été modifié par hubeert - 3 Nov 2011, 08:58. -------------------- Musique techno avec MAO (Logic Pro)
des que quelqu'un a du pouvoir il croit détenir la vérité... Des que quelqu'un a un clavier il A la la vérité.(Forcément) |
|
|
3 Nov 2011, 12:02
Message
#10
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 4 687 Inscrit : 28 Nov 2001 Lieu : Pas loin du grand pic qu'on surnomme Tour Eiffel Membre no 1 440 |
Pour la compression, cela va d'une échelle de qualité (par rapport à l'original) entre 0 et 100%. Le problème du rapport entre la compression et la taille du fichier est que l'échelle JPEG (ainsi que d'autres) est basée plutôt dans le rapport entre la qualité de l'original et la qualité du fichier compressé. Et il est très difficile de faire une relation entre la perte concédée (compression) et le nombre d'octets gagné car cela dépend du fichier que tu donne en entrée à ton compresseur.
Moins il y a de détails sur la photo, plus le compresseur arrivera a en faire un petit fichier même avec un grand niveau de qualité (petit niveau de pertes). Plus il y a de détails sur la photo, plus il aura du mal à en faire un petit fichier sans sacrifier la qualité de celui-ci. Si tu lis l'anglais, une astuce trouvée ici: Citation Another reminder: using a JPEG quality level below 50 or above 98 is not a good idea. Saving a JPEG image using quality 99 or 100 is just a waste of disk space. You should use a different file format instead (such as PNG or TIFF). And below quality 50, you lose so much that it would be better to rescale your image and use a lower resolution before trying to compress it further. En gros, les niveaux optimaux de qualité pour le JPEG varient de 50 à 98, en dessous c'est franchement dégeu et mieux vaut réduire la résolution, au dessus ça n'autorise pas assez de compression et un format de fichier sans perte (TIFF/PNG) produit de plus petits fichiers. Quant à sips, je découvre ce programme moi-même. D'après google, c'est une commande propre à OS X. Donc pour la connaître il faut bien connaître OS X par des livres ou des gens bien renseignés comme EricaL**. Ce message a été modifié par macuserfr - 3 Nov 2011, 12:04. -------------------- Mordu de Mac depuis 1996, avec un Performa 6230CD sous Mac OS 7.5.1. Depuis l'extinction de Steve Jobs, le logiciel libre se fait de plus en plus présent dans ma vie numérique.
|
|
|
3 Nov 2011, 12:22
Message
#11
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 951 Inscrit : 30 Sep 2006 Membre no 69 317 |
salut,
je cherchais également à faire pareil mais sans passer par du code (je suis pas très bon là-dedans lol ^^). je vais regarder avec pour propositions de logiciels. Est-il possible de faire la même avec Photoshop?? -------------------- "A journey of a thousand miles begins with a single step". -- Confucius Macbook Air 1,6GHz, Lion 10.7.5 => El Capitan 10.11.2, Core i5, 4 Go Ram, 128 Go iPod Touch 1G 8Go, v2.2.1 (écran foutu (grrr) iPhone 4 Noir 16 Go, v5.0.1 => iPhone 6s, 128 Go, iOS 10.2 => iPhone 12 Pro, 256 Go, iOS 14.4 Still happy to be in the Mac world... "but" not as happy as before... Where are the next evolutions??? "La vie est un long voyage dans lequel il est difficile de naviguer si l'on a pas de cap à suivre" - citation faite il y a 25 secondes! |
|
|
Guest_EricaL**_* |
3 Nov 2011, 13:51
Message
#12
|
Guests |
par exemple j'ai, une photo de 3,6 mega j'applique ta commande avec 90 elle se retrouve a 156 ko si je lui applique par dessus un 85 ca ne diminue que de 4 ko macuserfr à très bien expliquer la compression. La grande différence de taille est surtout le redimensionnement de l'image (probablement de 2600 pixels ou plus à 800 pixels) Par contre ou apprendre et ou trouver ce genre de commande que tu as donné? En général, il faut aller dans les dossiers invisibles (/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin) pour connaître les nouveaux exécutables ajoutés au félin, il faut préalablement connaître la base des commandes shell. Sinon une recherche sur internet permettra de connaître les utilitaires en ligne de commande par exemple "mac image command" permettra de connaître (sips, ImageMagick, etc.. ). Les mots shell, bash, command et unix avec les mots OSX ou Mac permets de rechercher ce que l'on souhaite. sips signifie scriptable image processing system sips utilise les mêmes frameworks qu’Aperçu Bonjour, Est-il possible de faire la même avec Photoshop?? Vous pouvez créer un droplet dans Photoshop (redimensionnement et compression) sans aucun code Après, il suffit de glisser des fichiers dans le Finder et de les déposer sur le droplet Voir Création d’un droplet à partir d’un script Il y a aussi d'autres options dans Photoshop, voir Traitement des fichiers par lots |
|
|
3 Nov 2011, 14:05
Message
#13
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 951 Inscrit : 19 May 2005 Lieu : Chateauneuf du pape Membre no 39 495 |
coucou;
merci a tous les intervenants. J'ai pas réussi a me servir du script shell; mais il faut sans doute un minimum de connaissance. en tout cas ca marche; je découvre le droplet grace a toi aussi merci a macuserfr pour les explications sr la compression.. Et merci surtout d'avoir partager votre savoir.. -------------------- Musique techno avec MAO (Logic Pro)
des que quelqu'un a du pouvoir il croit détenir la vérité... Des que quelqu'un a un clavier il A la la vérité.(Forcément) |
|
|
4 Nov 2011, 07:42
Message
#14
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 951 Inscrit : 30 Sep 2006 Membre no 69 317 |
Est-il possible de faire la même avec Photoshop?? Vous pouvez créer un droplet dans Photoshop (redimensionnement et compression) sans aucun code Après, il suffit de glisser des fichiers dans le Finder et de les déposer sur le droplet Voir Création d’un droplet à partir d’un script Il y a aussi d'autres options dans Photoshop, voir Traitement des fichiers par lots merci pour la réponse, je vais regarder ce weekend. ^^ -------------------- "A journey of a thousand miles begins with a single step". -- Confucius Macbook Air 1,6GHz, Lion 10.7.5 => El Capitan 10.11.2, Core i5, 4 Go Ram, 128 Go iPod Touch 1G 8Go, v2.2.1 (écran foutu (grrr) iPhone 4 Noir 16 Go, v5.0.1 => iPhone 6s, 128 Go, iOS 10.2 => iPhone 12 Pro, 256 Go, iOS 14.4 Still happy to be in the Mac world... "but" not as happy as before... Where are the next evolutions??? "La vie est un long voyage dans lequel il est difficile de naviguer si l'on a pas de cap à suivre" - citation faite il y a 25 secondes! |
|
|
Nous sommes le : 16th April 2024 - 19:57 |