Réduire taille des images

Cet espace permet de solliciter aide et conseils concernant l'installation, la personnalisation et l'utilisation de Xubuntu.
Bienvenue à tous !
Gacko
Messages : 9
Enregistré le : 26 mai 2013, 20:52
Localisation : Maine-et-Loire
Contact :

Réduire taille des images

Message par Gacko »

Bonjour,
Ayant l'habitude avec Ubuntu 12.04 de faire un clic droit pour déduire la taille et le poids de mes photos j'ai installé nautilus-image-converter sur Xubuntu mais rien n'apparait dans le menu déroulant du clic droit. Y'aurait il incompatibilité ?
Modifié en dernier par Gacko le 17 juin 2016, 11:18, modifié 1 fois.
Xubuntu 13.04 sur P4 à 3.2Ghz + Win$ 7 comme roue de secours
k-bag
Messages : 62
Enregistré le : 04 mai 2012, 09:49
Contact :

Re: Réduire taille des images

Message par k-bag »

Hello.
Gacko a écrit :Bonjour,
Ayant l'habitude avec Ubuntu 12.04 de faire un clic droit pour déduire la taille et le poids de mes photos j'ai installé nautilus-image-converter sur Xubuntu mais rien n'apparait dans le menu déroulant du clic droit. Y'aurait il incompatibilité ?
Logique absolue :D Le gestionnaire de fichiers de Xubuntu par défaut est Thunar, non pas Nautilus qui est propre à Gnome (Et encore, maintenant il se nomme Files).

Pour ce que tu veux faire, tu peux définir une action personnalisée dans Thunar.
Xubuntu 12 (RÀS) -- Win$ 7 (Le "pas mal" en fin compte)
" L'intelligence, c'est pas sorcier, il suffit de penser à une connerie et de dire l'inverse. "
Gacko
Messages : 9
Enregistré le : 26 mai 2013, 20:52
Localisation : Maine-et-Loire
Contact :

Re: Réduire taille des images

Message par Gacko »

Merci, merci mais je ne suis pas le meilleur des informaticiens.
Au cours des années je suis passé d'Apple à Windows à Ubuntu/Xubuntu pour toujours trouver plus simple et plus stable. Et finalement l'OS que je préfère c'est l'Android de la tablette de mon fils !

Tout ça pour dire que j'ai passé ma soirée d'hier à essayer de définir une action personnalisée pointant vers un script de redimensionnement trouvé ici http://thelinuxchronicles.blogspot.ca/2 ... otate.html mais ça n'a rien donné de fonctionnel...
Xubuntu 13.04 sur P4 à 3.2Ghz + Win$ 7 comme roue de secours
cinaptix
Messages : 91
Enregistré le : 18 mai 2013, 19:17
Localisation : TOURS - 37
Contact :

Re: Réduire taille des images

Message par cinaptix »

Le script :

Code : Tout sélectionner

#!/bin/bash
#
# Author : Mathieu Vilaplana <mathieu@creationgif.com>
# Author : Matthieu MARC <matthieu.marc@wanadoo.fr>
#
# Copyright (C) 2005,2006  Charles Bouveyron <charles.bouveyron@free.fr>
# 
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

# pour l'internationalisation des messages	
# to generate the i18n file from .po file :
# $ msgfmt -o .locale/fr/LC_MESSAGES/nis.mo .locale/fr/LC_MESSAGES/fr.po
export TEXTDOMAIN="nis"
export TEXTDOMAINDIR=`dirname $0`"/.locale/"

MAXCPT=50000;

nb_images=0;
selection="";

txt_error="`gettext 'error'`"
#test if a file has been selected
if [ $# -eq 0 ]; then
	# zenity --error --title=$txt_error --text="`gettext 'You must select at least 1 file to process'`"
	here=`pwd`"/."
	files=`zenity --file-selection --multiple --separator="|" --filename="$here"`"|"
	#if $? != 0, user click on cancel button, so exit
	if [ "$?" != 0 ] ; then
		exit
	fi
	cpt=0
	# I put all filename in $selection here because I didn't managed to put filenames with whitespace in $*
	while [ ${#files} -gt 0 ]; do
		f="`echo $files |cut -f1 -d'|'`"
		isimage=`file -bi "$f" |grep -c image`
		if [ $isimage -eq 1 ]; then
			selection[$nb_images]=$f
			let "nb_images++"
		fi
		files=`echo $files |cut -f2- -d"|"`
		let "cpt++"
		# only to avoid infinite loop (do not occured normaly, but nobody never know.. perhaps!)
		if [ $cpt -gt $MAXCPT ]; then
			shift
		fi
	done
fi

#===================================
#       SELECT SIZE DIALOG
txt_text="`gettext 'Choose which size to scale to'`"
txt_title=$txt_text
txt_size="`gettext 'size'`"

imgsize=`zenity --title "$txt_title" --text "$txt_text" --list --radiolist --separator=" " --column="" --column="$txt_size" FALSE "160x120" FALSE "320x240" FALSE "640x480" TRUE "800x600" FALSE "1024x768" FALSE "1280x960" FALSE "1600x1200" --height=260`

#if $? != 0, user click on cancel button, so exit
if [ "$?" != 0 ] ; then
	exit
fi

#user must select a target size
imgsize=`echo $imgsize | sed 's/ max//g'`
if [ ! "$imgsize" ]; then
	zenity --error --title=$txt_error --text="`gettext 'select a target size'`"
	# just restart myself (more user friendly I think)
	($0 "$*")&
	exit
fi

#transform 640x480 en 640x640 for convert to respect proportions
himgsize=$imgsize
val1=`echo "$imgsize" | awk -F'x' '{ print $1  }'`
imgsize="${val1}x${val1}"

#       END SELECT SIZE DIALOG
#=========================


#Select only images
while [ $# -gt 0 ]; do
	isimage=`file -bi "$1" | grep -c image` 
	if [ $isimage -eq 1 ]; then
		selection[$nb_images]=$1
		let "nb_images++"
	else
		isdir=`file -b "$1" |grep -c directory`
		if [ $isdir -eq 1 ]; then
			for f in `ls -1 "$1"`; do
				isimage=`file -bi "$1/$f" |grep -c image`
				if [ $isimage -eq 1 ]; then
					selection[$nb_images]="$1/$f"
					let "nb_images++"
				fi
			done
		fi
	fi
	shift
done

n=$nb_images
let "n=n-1"
(for i in `seq 0 $n`;do
	picture=${selection[$i]}
	img_filename=`basename "$picture"`
	img_dirname=`dirname "$picture"`

	#create directory if not exist and at least one image to process
	if [ ! -d "$img_dirname/$himgsize"  ]; then
		mkdir -p "$img_dirname/$himgsize"
	fi

	let "compteur += 1"
	echo "`gettext '# Processing image'` $compteur / $nb_images $img_filename ..."
	convert -quality 80 -resize $imgsize "$picture" "$img_dirname/$himgsize/$img_filename"
	#convert -quality 80 -resize $imgsize "$picture" $himgsize/"$picture"
	let "progress = compteur*100/nb_images"
	echo $progress
done
) | zenity --progress --auto-close --title="`gettext 'Scaling images'`" --text="`gettext 'Processing images ...'`"  --percentage=0

(gnome-open "`dirname \"${selection[0]}\"`/$himgsize") &
exit
L'enregistrer, le rendre exécutable, créer une action personnalisée qui pointe dessus.

genre : ' /home/user/.scripts/le_script_en_question' %F (créer un répertoire caché pour stocker les scripts)
cocher : Fichiers images

Simple et fonctionnel.
Xubuntu 18.04 (64 bits) sur Pentium G3420, 3,2 Ghz et 8 Go de RAM à 1600 Mhz - SSD 64 Go - HDD 500 Go
Gacko
Messages : 9
Enregistré le : 26 mai 2013, 20:52
Localisation : Maine-et-Loire
Contact :

Re: Réduire taille des images

Message par Gacko »

Merci cinaptix mais il y a surement un bug dans le script :(
Quand je coche la taille de l'image choisie puis clique sur OK un message apparait:

Image
Xubuntu 13.04 sur P4 à 3.2Ghz + Win$ 7 comme roue de secours
cinaptix
Messages : 91
Enregistré le : 18 mai 2013, 19:17
Localisation : TOURS - 37
Contact :

Re: Réduire taille des images

Message par cinaptix »

Bizarre !
Chez moi ça fonctionne impeccablement sous Xubuntu 13.04 et ça fonctionnait de la même manière sous Ubuntu 10.04 (À l'origine c'est fait pour fonctionner sous gnome avec nautilus script).

Je n'ai rien modifié dedans.
Xubuntu 18.04 (64 bits) sur Pentium G3420, 3,2 Ghz et 8 Go de RAM à 1600 Mhz - SSD 64 Go - HDD 500 Go
cinaptix
Messages : 91
Enregistré le : 18 mai 2013, 19:17
Localisation : TOURS - 37
Contact :

Re: Réduire taille des images

Message par cinaptix »

Le fichier tel qu'il fonctionne chez moi est récupérable ici : http://dl.free.fr/tLy6dBaWz
Xubuntu 18.04 (64 bits) sur Pentium G3420, 3,2 Ghz et 8 Go de RAM à 1600 Mhz - SSD 64 Go - HDD 500 Go
Gacko
Messages : 9
Enregistré le : 26 mai 2013, 20:52
Localisation : Maine-et-Loire
Contact :

Re: Réduire taille des images

Message par Gacko »

Génial cinaptix avec ton fichier ça fonctionne parfaitement :D Un grand merci à toi, cette réduction par clic droit est vraiment quelque chose dont j'avais du mal à me passer.
Xubuntu 13.04 sur P4 à 3.2Ghz + Win$ 7 comme roue de secours
slebourdon
Messages : 1
Enregistré le : 14 août 2015, 11:43
Contact :

Re: [Résolu] Réduire taille des images

Message par slebourdon »

Bonjour,

Merci à cinaptix pour son script, j'ai effectué une modification pour le faire fonctionner sur Xubuntu 14.04 : à l'avant dernière ligne j'ai remplacé gnome-open (non présent par défaut sur la 14.04) par thunar.

Code : Tout sélectionner

(thunar "`dirname \"${selection[0]}\"`/$himgsize") &
exit
Y-a-t-il un "dépôt" centralisé pour les scripts thunar ?

Cordialement
Stéphane
Xubuntu 14.04 LTS
pingux
Messages : 2509
Enregistré le : 28 déc. 2011, 17:19
Localisation : Belgique
Contact :

Re: [Résolu] Réduire taille des images

Message par pingux »

Hello slebourdon,
Y-a-t-il un "dépôt" centralisé pour les scripts thunar ?
Tu pourras trouver ton bonheur ICI, uniquement en anglais malheureusement.
Dura Lex sed Lex
masaruta4at
Messages : 6
Enregistré le : 07 sept. 2015, 10:58
Contact :

Re: [Résolu] Réduire taille des images

Message par masaruta4at »

Merci cinaptix mais il y a surement un bug dans le script.
บาคาร่าออนไลน์
cinaptix
Messages : 91
Enregistré le : 18 mai 2013, 19:17
Localisation : TOURS - 37
Contact :

Re: [Résolu] Réduire taille des images

Message par cinaptix »

Ce script fonctionne correctement sur ma config.

Code : Tout sélectionner

#!/bin/bash
#
# Author : Mathieu Vilaplana <mathieu@creationgif.com>
# Author : Matthieu MARC <matthieu.marc@wanadoo.fr>
#
# Copyright (C) 2005,2006  Charles Bouveyron <charles.bouveyron@free.fr>
# 
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

# pour l'internationalisation des messages	
# to generate the i18n file from .po file :
# $ msgfmt -o .locale/fr/LC_MESSAGES/nis.mo .locale/fr/LC_MESSAGES/fr.po
export TEXTDOMAIN="nis"
export TEXTDOMAINDIR=`dirname $0`"/.locale/"

MAXCPT=50000;

nb_images=0;
selection="";

txt_error="`gettext 'error'`"
#test if a file has been selected
if [ $# -eq 0 ]; then
	# zenity --error --title=$txt_error --text="`gettext 'You must select at least 1 file to process'`"
	here=`pwd`"/."
	files=`zenity --file-selection --multiple --separator="|" --filename="$here"`"|"
	#if $? != 0, user click on cancel button, so exit
	if [ "$?" != 0 ] ; then
		exit
	fi
	cpt=0
	# I put all filename in $selection here because I didn't managed to put filenames with whitespace in $*
	while [ ${#files} -gt 0 ]; do
		f="`echo $files |cut -f1 -d'|'`"
		isimage=`file -bi "$f" |grep -c image`
		if [ $isimage -eq 1 ]; then
			selection[$nb_images]=$f
			let "nb_images++"
		fi
		files=`echo $files |cut -f2- -d"|"`
		let "cpt++"
		# only to avoid infinite loop (do not occured normaly, but nobody never know.. perhaps!)
		if [ $cpt -gt $MAXCPT ]; then
			shift
		fi
	done
fi

#===================================
#       SELECT SIZE DIALOG
txt_text="`gettext 'Choose which size to scale to'`"
txt_title=$txt_text
txt_size="`gettext 'size'`"

imgsize=`zenity --title "$txt_title" --text "$txt_text" --list --radiolist --separator=" " --column="" --column="$txt_size" FALSE "160x120" FALSE "320x240" FALSE "640x480" FALSE "800x600" FALSE "1024x768" TRUE "1280x960" FALSE "1600x1200" FALSE "2048x1536" FALSE "2400x1800" --height=325`

#if $? != 0, user click on cancel button, so exit
if [ "$?" != 0 ] ; then
	exit
fi

#user must select a target size
imgsize=`echo $imgsize | sed 's/ max//g'`
if [ ! "$imgsize" ]; then
	zenity --error --title=$txt_error --text="`gettext 'select a target size'`"
	# just restart myself (more user friendly I think)
	($0 "$*")&
	exit
fi

#transform 640x480 en 640x640 for convert to respect proportions
himgsize=$imgsize
val1=`echo "$imgsize" | awk -F'x' '{ print $1  }'`
imgsize="${val1}x${val1}"

#       END SELECT SIZE DIALOG
#=========================


#Select only images
while [ $# -gt 0 ]; do
	isimage=`file -bi "$1" | grep -c image` 
	if [ $isimage -eq 1 ]; then
		selection[$nb_images]=$1
		let "nb_images++"
	else
		isdir=`file -b "$1" |grep -c directory`
		if [ $isdir -eq 1 ]; then
			for f in `ls -1 "$1"`; do
				isimage=`file -bi "$1/$f" |grep -c image`
				if [ $isimage -eq 1 ]; then
					selection[$nb_images]="$1/$f"
					let "nb_images++"
				fi
			done
		fi
	fi
	shift
done

n=$nb_images
let "n=n-1"
(for i in `seq 0 $n`;do
	picture=${selection[$i]}
	img_filename=`basename "$picture"`
	img_dirname=`dirname "$picture"`

	#create directory if not exist and at least one image to process
	if [ ! -d "$img_dirname/$himgsize"  ]; then
		mkdir -p "$img_dirname/$himgsize"
	fi

	let "compteur += 1"
	echo "`gettext '# Processing image'` $compteur / $nb_images $img_filename ..."
	convert -quality 80 -resize $imgsize "$picture" "$img_dirname/$himgsize/$img_filename"
	#convert -quality 80 -resize $imgsize "$picture" $himgsize/"$picture"
	let "progress = compteur*100/nb_images"
	echo $progress
done
) | zenity --progress --auto-close --title="`gettext 'Scaling images'`" --text="`gettext 'Processing images ...'`"  --percentage=0

(thunar "`dirname \"${selection[0]}\"`/$himgsize") &
exit
Xubuntu 18.04 (64 bits) sur Pentium G3420, 3,2 Ghz et 8 Go de RAM à 1600 Mhz - SSD 64 Go - HDD 500 Go
Gacko
Messages : 9
Enregistré le : 26 mai 2013, 20:52
Localisation : Maine-et-Loire
Contact :

Re: [Résolu] Réduire taille des images

Message par Gacko »

Bonjour le forum,
Ayant installé Xubuntu 16.04 sur un nouveau PC le script ci-dessus ne fonctionne plus. D'ailleurs bizarrement quand je veux l'enregistrer, l'option à cocher : Fichiers images n’apparaît plus.
Quelque chose aurait changé dans Xubuntu ?
Xubuntu 13.04 sur P4 à 3.2Ghz + Win$ 7 comme roue de secours
Répondre