Résolu le 20-05-19 compression photo

Installation, configuration et utilisation des logiciels que vous souhaitez installer.
Avatar du membre
rhodes38
Messages : 407
Enregistré le : dim. 31 déc. 2017 10:21

Re: compression photo

Message par rhodes38 »

Dernier message de la page précédente :

Hello Mézig

Comment s"appelle ce script?
Cdlt
System: Host: ppinchi-System-Product-Name Kernel: 4.15.0-72-generic x86_64 (64 bit)
Desktop: Xfce 4.12.3 Distro: Linux Mint 18.3 Sylvia
CPU: Dual core AMD Athlon 64 X2 4000+ (-MCP-) cache: 1024 KB
Graphics: Card: NVIDIA G72 [GeForce 7500 LE]
Drives: HDD Total Size: 980.2GB (5.2% used)

mézig
Messages : 1841
Enregistré le : mar. 14 nov. 2017 14:40

Re: compression photo

Message par mézig »

rhodes38 a écrit :Hello Mézig

Comment s"appelle ce script?
Cdlt
Tu y mets le nom que tu veux , ça peut etre abracadabra si tu veux :lol: , ce nom tu le retrouveras dans le clic droit
Intel Pentium Dual CPU E2140 -- Nvidia GF108 -- 4 Go de RAM -- Ubuntu 18.10 -- DEEPIN 15.11
Intel Pentium CPU 4405U @ 2.10GHz × 4 -- Intel HD Graphics 510 (Skylake GT1) -- 4 Go de RAM -- Ubuntu 19.04 -- Ubuntu 18.04 -- DEEPIN 15.11 avec partition de données commune

Avatar du membre
tioker
modérateur
Messages : 987
Enregistré le : sam. 6 mai 2017 00:33
Localisation : Anjou...Feu !
Contact :

Re: compression photo

Message par tioker »

mézig a écrit :Tu y mets le nom que tu veux , ça peut etre abracadabra si tu veux :lol: , ce nom tu le retrouveras dans le clic droit
Mézig, je pense que rhodes38 te demande le code source de ton script ou l'endroit où on peut le télécharger. En effet, le clic droit sur une image te proposera l'action si elle est dans le répertoire qui va bien, mais le script qui va avec doit être connu.
Si j'interviens c'est que je suis peut-être aussi intéressé.
J'ai écrit un programme (script) qui fait une compression mais j'utilise un artifice très puissant qui ne traite ... que les png (c'est pour créer des vignettes/icônes pour le web). Je serai curieux de voir celui auquel tu fais référence.
J'espère ne pas m'être inséré dans une discussion et avoir répondu à côté...
Cordialement.
HP Victus 16: Mint 21.3 Cinnamon 6,0,4 + Windows 11 - Ryzen 5 5600H - NVIDIA GeForce GTX 1650 - Mem 16Go - SSD 512Go
pCloud Synchronisation en temps réel des 4 dossiers personnels

mézig
Messages : 1841
Enregistré le : mar. 14 nov. 2017 14:40

Re: compression photo

Message par mézig »

C'est un script que j'ai trouvé sur Ubuntu-fr , je pense , je ne me souviens plus

Edit: que je suis c... :l j"ai oublié de mettre le script :?
Merci tioker ;)

Code : Tout sélectionner

#!/bin/sh

# Auteur       : Julien Leloup
# Site         : http://leloup.org

# Version      : 1.1
# Date         : 26/01/2011

# Historique :
# - 1.1 - 26/01/2011 - Gestion des espaces dans le nom des fichiers
# - 1.0 - 24/10/2010 - Version initiale

# Dépendances  :
# - zenity
# - imagemagick

# Installation : 
# - Pré-requis : zenity et imagemagick doivent être installés
# - Rendre ce script executable
# - Déposer ce script dans le dossier $HOME/.gnome2/nautilus-scripts

# Utilisation  : Accès par bouton droit / Scripts / image-redim après sélection d'une ou plusieurs images

# Fonctions    :
# - Redimensionnement d'images par lot
# - Paramatrage d'une largeur et d'une hauteur maxi à ne pas dépasser, tout en conservant le ratio.
# - Paramatrage de la qualité de compression
# - Choix de la sortie (Ecrasement, préfixe)
# - Se base sur le type mime pour ne traiter que les images
# - N'agrandit pas les images dont les dimensions sont inférieures aux dimensions choisies



# Teste si l'utilisateur a cliqué sur annuler
f_annuler() {

	if [ "$?" != 0 ] ; then
		# On quitte le programme
		exit
	fi

}

# Message de valeur obligatoire
f_valeur() {

	zenity --error --title="image-redim" --text="Vous devez choisir une valeur"

}



# Teste si au moins un fichier a a été choisi
if [ $# -eq 0 ]; then
	zenity --error --title="image-redim" --text="Vous devez selectionner au moins une image pour utiliser ce programme."
	exit 1
fi



# On force la saisie
while [ ! "$v_dimensions_max" ]; do

	# Choix des dimensions maxi (attention, en cas d'ajout d'une nouvelle dimension, veillez à suivre la même structure <largeur>x<hauteur>)
	v_dimensions_max=`zenity --list --title="image-redim" --text="Sélectionner, conserve le ratio, dimensions max à ne pas dépasser (pixels)" --column="" "choisir..." "640x480" "800x600" "1024x768" "1280x1024" "1680x1050" "1920x1200" --hide-header`
	
	# Si clic sur annuler
	f_annuler

	# Si clic sur valider sans avoir choisi de valeur
	if [ ! "$v_dimensions_max" ]; then
		f_valeur
	fi

done

# Si choix, choisir, saisie de la largeur
if [ "$v_dimensions_max" = "choisir..." ] ; then

	# On force la saisie
	while [ ! "$v_largeur_max" ]; do

		# Saisie de la largeur 
		v_largeur_max=`zenity --entry --title="image-redim" --text="Saisissez une largeur personnalisée"`
	
		# Si clic sur annuler
		f_annuler
	
		# Si clic sur valider sans avoir choisi de valeur
		if [ ! "$v_largeur_max" ]; then
			f_valeur
		fi
		
		# Si la valeur choisie n'est pas un entier positif
		if [ ! $(echo "$v_largeur_max" | grep -E "^[0-9]+$") ] ; then
			zenity --info --text="La largeur maxi doit être un entier positif"
			# Réinitialisation de la valeur saisie
			v_largeur_max=""
		fi
		
	done
	
	# On force la saisie
	while [ ! "$v_hauteur_max" ]; do	
	
		# Saisie de la hauteur
		v_hauteur_max=`zenity --entry --title="image-redim" --text="Saisissez une hauteur"`

		# Si clic sur annuler
		f_annuler
	
		# Si clic sur valider sans avoir choisi de valeur
		if [ ! "$v_hauteur_max" ]; then
			f_valeur
		fi
		
		# Si la valeur choisie n'est pas un entier positif
		if [ ! $(echo "$v_hauteur_max" | grep -E "^[0-9]+$") ] ; then
			zenity --info --text="La hauteur maxi doit être un entier positif"
			# Réinitialisation de la valeur saisie
			v_hauteur_max=""
		fi
		
	done
	
	# Ecriture du choix dans les dimensions maxi
	v_dimensions_max=$v_largeur_max"x"$v_hauteur_max
	
fi



# Choix de la qualité d'image
v_qualite=`zenity --scale --title="image-redim" --text="Saisissez la qualité de l'image produite\n\n 100 : qualité excellente mais image lourde\n 0 : qualité trés mauvaise\n 85 : bon compromis entre qualité et poids" --value=85 --min-value=0 --max-value=100`

# Si clic sur annuler
f_annuler
	


# On force la saisie
while [ ! "$v_sortie" ]; do

	# Choix de la sortie
	v_sortie=`zenity --list --title="image-redim" --text="choisir la sortie" --column="" "Ecrasement des images existantes" "Création d'images avec un préfixe" --hide-header`

	# Si clic sur annuler
	f_annuler

	# Si clic sur valider sans avoir choisi de valeur
	if [ ! "$v_sortie" ]; then
		f_valeur
	fi

done



# Comptage du nombre total de fichiers séléctionnés, images ou non
v_total=`file $* | wc -l`

# Compteur pour barre de progression
v_compteur=0
v_pourcentage=0



# Boucle sur les fichiers séléctionnés
(while [ $# -gt 0 ]; do

	# Récupération du nom du fichier courant
	v_fichier_courant="$1"
		
	# Vérification de son type mime
	v_mime_courant=`file -bi "$v_fichier_courant"`
	v_fichier_est_image=`echo "$v_mime_courant" | grep image | wc -l`
		
	# Si c'est bien une image
	if [ ! $v_fichier_est_image -eq 0 ]; then
	
		# Récupération de la largeur de l'image courante
		v_largeur_avant=`identify -format '%w' "$v_fichier_courant"`
		
		# Récupération de la hauteur de l'image courante
		v_hauteur_avant=`identify -format '%h' "$v_fichier_courant"`
		
		# Récupération de la largeur choisie
		v_largeur_choisie=$(echo $v_dimensions_max | cut -d"x" -f1);
		
		# Récupération de la hauteur choisie
		v_hauteur_choisie=$(echo $v_dimensions_max | cut -d"x" -f2);
							
		# Si au moins une dimension de l'image courante est supérieure ou égale à la dimension correspondante choisie par l'utilisateur
		# (supérieur strict : -gt)
		# (supérieure ou égal : -ge)
		if [ $v_largeur_avant -ge $v_largeur_choisie ] || [ $v_hauteur_avant -ge $v_hauteur_choisie ] ; then

			# Si Ecrasement des images existantes
			if [ "$v_sortie" = "Ecrasement des images existantes" ] ; then				
				convert "$v_fichier_courant" -resize $v_dimensions_max -quality $v_qualite "$v_fichier_courant" 
			fi

			# Si nouvelle image avec un préfixe
			if [ "$v_sortie" = "Création d'images avec un préfixe" ] ; then				
				nouveauprefixe="image_redim_"
				nouveaubasename=`basename "$v_fichier_courant"`
				nouveaunom=$nouveauprefixe$nouveaubasename
				convert "$v_fichier_courant" -resize $v_dimensions_max -quality $v_qualite "$nouveaunom" 
			fi	
						
		fi
		
	fi

	# Incrémentation du compteur de barre de progression
	v_compteur=$(( v_compteur+=1 ))
	
	# Calcul du pourcentage pour barre de progression
	v_pourcentage=$(( v_compteur*100/v_total ))
	
	# Transmission des informations à la barre de progression
	echo "# $v_fichier_courant"
	echo "$v_pourcentage"
	
	shift
done
) | zenity --progress --text="image-redim" --percentage=0 --auto-kill --auto-close

# Fin du programme avec succès ;-)
zenity --info --text="Programme terminé avec succès."
Modifié en dernier par mézig le lun. 8 oct. 2018 20:38, modifié 2 fois.
Intel Pentium Dual CPU E2140 -- Nvidia GF108 -- 4 Go de RAM -- Ubuntu 18.10 -- DEEPIN 15.11
Intel Pentium CPU 4405U @ 2.10GHz × 4 -- Intel HD Graphics 510 (Skylake GT1) -- 4 Go de RAM -- Ubuntu 19.04 -- Ubuntu 18.04 -- DEEPIN 15.11 avec partition de données commune

Avatar du membre
rhodes38
Messages : 407
Enregistré le : dim. 31 déc. 2017 10:21

Re: compression photo

Message par rhodes38 »

Un grand merci à tioker pour avoir exprimé mon souhait.
Evidemment que te remercie aussi mézig. Je m'y attelle demain.
System: Host: ppinchi-System-Product-Name Kernel: 4.15.0-72-generic x86_64 (64 bit)
Desktop: Xfce 4.12.3 Distro: Linux Mint 18.3 Sylvia
CPU: Dual core AMD Athlon 64 X2 4000+ (-MCP-) cache: 1024 KB
Graphics: Card: NVIDIA G72 [GeForce 7500 LE]
Drives: HDD Total Size: 980.2GB (5.2% used)

Avatar du membre
arghlub
Administrateur du site
Messages : 10421
Enregistré le : dim. 21 mai 2017 08:19
Localisation : Provence
Contact :

Re: compression photo

Message par arghlub »

«Mot de modo : »
merci mézig, tioker & rhodes ...
merci pour ce script-Shell (même si j'en suis pas là, ou plus loin que ça)
(merci les gars) ;)
Tour1 (custom)CM MSI Z270 M3 | CPU Intel I7-7700K | CG Nvidia GTX 1080 | RAM 16Go | tripleBoot : Debian 11 | MXlinux 21 | LMint 19.3 | XFCE
Tour2 (custom)CM Gigabyte | CPU AMD Athlon 5200+ | CG Nvidia GTX 560 | RAM 6Go | FreeBSD 12.1 XFCE
Portable1 MSI GF75 Thin 9SC | CPU Intel I7-9750H | CG Nvidia GTX 1650 | RAM 32Go | dualBoot : LMint 20.2 | MXlinux 21 | XFCE
Portable2 MacBook Air A1466 (2015) | CPU Intel I5-5250U | CG Intel HD Graphics 6000 | RAM 8Go | dualBoot : macOS Sierra | MXlinux 21 XFCE
─────( pour une informatique libre ! -membre en stand-by de l' April.org────────────────

mézig
Messages : 1841
Enregistré le : mar. 14 nov. 2017 14:40

Re: compression photo

Message par mézig »

Oui !... on s'en doute que tu est bien loin devant
on serait a ta hauteur , il n'y aurait pas besoin de forums
mais voila quoi !...
Modifié en dernier par mézig le mar. 9 oct. 2018 23:40, modifié 2 fois.
Intel Pentium Dual CPU E2140 -- Nvidia GF108 -- 4 Go de RAM -- Ubuntu 18.10 -- DEEPIN 15.11
Intel Pentium CPU 4405U @ 2.10GHz × 4 -- Intel HD Graphics 510 (Skylake GT1) -- 4 Go de RAM -- Ubuntu 19.04 -- Ubuntu 18.04 -- DEEPIN 15.11 avec partition de données commune

Avatar du membre
rhodes38
Messages : 407
Enregistré le : dim. 31 déc. 2017 10:21

Re: compression photo

Message par rhodes38 »

Hello Mézig
J'ai créé un dossier test et inseré 3 photos
Clic droit sur une d'entre elle, dans le menu contextuel j'apercois bien "alléger les photos mais rien ne se passe

Image
System: Host: ppinchi-System-Product-Name Kernel: 4.15.0-72-generic x86_64 (64 bit)
Desktop: Xfce 4.12.3 Distro: Linux Mint 18.3 Sylvia
CPU: Dual core AMD Athlon 64 X2 4000+ (-MCP-) cache: 1024 KB
Graphics: Card: NVIDIA G72 [GeForce 7500 LE]
Drives: HDD Total Size: 980.2GB (5.2% used)

mézig
Messages : 1841
Enregistré le : mar. 14 nov. 2017 14:40

Re: compression photo

Message par mézig »

aussi as tu fait clic droit sur le script >> Propriétés >> onglet Permisions et coché la case "Autoriser l'execution"
As tu aussi installé [url=apt://imagemagick]imagemagick[/url]
Intel Pentium Dual CPU E2140 -- Nvidia GF108 -- 4 Go de RAM -- Ubuntu 18.10 -- DEEPIN 15.11
Intel Pentium CPU 4405U @ 2.10GHz × 4 -- Intel HD Graphics 510 (Skylake GT1) -- 4 Go de RAM -- Ubuntu 19.04 -- Ubuntu 18.04 -- DEEPIN 15.11 avec partition de données commune

Avatar du membre
rhodes38
Messages : 407
Enregistré le : dim. 31 déc. 2017 10:21

Re: compression photo

Message par rhodes38 »

BINGO!!!!!
J'avais oublié de rendre exécutable
Merci beaucoup
Je vais procéder à plus de tests



Image
System: Host: ppinchi-System-Product-Name Kernel: 4.15.0-72-generic x86_64 (64 bit)
Desktop: Xfce 4.12.3 Distro: Linux Mint 18.3 Sylvia
CPU: Dual core AMD Athlon 64 X2 4000+ (-MCP-) cache: 1024 KB
Graphics: Card: NVIDIA G72 [GeForce 7500 LE]
Drives: HDD Total Size: 980.2GB (5.2% used)

Répondre