Pages : 1
#1 Le 05/07/2017, à 11:02
- torxxl
Alléger photos pour le Web
Bonjour,
J'utilisais Photoshop Élément qui a une option "enregistrer pour le Web" et qui permet d’alléger la taille de photos pour le Web.
J'ai rien trouvé qui me permet de faire simplement la même chose.
Des idées ?
D'avance merci
Hors ligne
#2 Le 05/07/2017, à 11:25
- Caribou22
Re : Alléger photos pour le Web
Bonjour
Personnellement, je réduis simplement la résolution avec Gimp
Hors ligne
#3 Le 05/07/2017, à 12:30
- seebz
Re : Alléger photos pour le Web
Salut,
je me suis fais 2 scripts qui pourraient vous intéresser.
En l'état, ils utilisent tous les deux un service distant et remplacent les fichiers originaux.
optimize-jpeg
#!/bin/bash
IFS=$'\n'
is_jpeg(){
MIME=$(file -i -b "$1" | sed -e 's/;.*//')
return $(expr "$MIME" == "image/jpeg")
}
optimize(){
TMP_FILE=`mktemp`
curl -s \
-X POST \
--form "input=@${1};type=image/jpeg" \
http://jpgoptimiser.com/optimise > "$TMP_FILE"
# est-ce bien un jpeg ?
is_jpeg $TMP_FILE
JPEG=$?
# sizes
OLDSIZE=$(stat -c%s "$1")
NEWSIZE=$(stat -c%s "$TMP_FILE")
if [ $JPEG ] && [ $NEWSIZE -gt 100 ] && [ "$NEWSIZE" -lt "$OLDSIZE" ]; then
$(mv "$TMP_FILE" "$1")
fi
}
FILES=()
if [ $# -gt 0 ]; then
for file in "$@"; do
if [ ! -f $file ]; then
echo "\"${file}\" not found" 1>&2
exit 1
fi
FILES+=($file)
done
else
FILES=($(ls -1 2> /dev/null | grep -E \.jpe?g$))
fi
for file in ${FILES[*]}; do
optimize $file
done
optimize-png
#!/bin/bash
IFS=$'\n'
is_png(){
MIME=$(file -i -b "$1" | sed -e 's/;.*//')
return $(expr "$MIME" == "image/png")
}
optimize(){
TMP_FILE=`mktemp`
curl -s \
-X POST \
--form "input=@${1};type=image/png" \
http://pngcrush.com/crush > "$TMP_FILE"
# est-ce bien un png ?
is_png $TMP_FILE
PNG=$?
# sizes
OLDSIZE=$(stat -c%s "$1")
NEWSIZE=$(stat -c%s "$TMP_FILE")
if [ $PNG ] && [ $NEWSIZE -gt 100 ] && [ "$NEWSIZE" -lt "$OLDSIZE" ]; then
$(mv "$TMP_FILE" "$1")
fi
}
FILES=()
if [ $# -gt 0 ]; then
for file in "$@"; do
if [ ! -f $file ]; then
echo "\"${file}\" not found" 1>&2
exit 1
fi
FILES+=($file)
done
else
FILES=($(ls -1 2> /dev/null | grep \.png$))
fi
for file in ${FILES[*]}; do
optimize $file
done
Hors ligne
#4 Le 05/07/2017, à 13:55
- Brunod
Re : Alléger photos pour le Web
J'utilise convert pour faire des médaillons :
convert * -thumbnail 100x100 converti.jpg
Mais il suffit de le paramétrer autrement.
Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis
Hors ligne
#5 Le 05/07/2017, à 14:11
- kholo
Re : Alléger photos pour le Web
salut
voici CUDAIR : "Créer Un Dossier Avec Images Réduites"
c'est un script pour Nautilus à mettre dans ~/.local/share/nautilus/scripts
nautilus ~/.local/share/nautilus/scripts
Ce script crée un sous dossier, copie les images sélectionnées et les réduits.
VERSION 2018 08 16
#!/bin/bash
#**********************************#
# kholo-informatique 2016-2018
# www.kholo-informatique.fr
#**********************************#
#
#**********************************#
# CUDAIR : "Créer Un Dossier Avec Images Réduites"
#**********************************#
# 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.
#**********************************#
# nomLogiciel="$(basename "$0")" ;
nomLogiciel="${0##*/}" ;
FONCTION="Créer Un Dossier Avec Images Réduites - CUDAIR" ;
#**********************************#
VERSION_LOGICIEL="2018.08.16.1552" ;
#**********************************#
# NOTES DE VERSIONS
#
#**********************************#
# Ce script transforme des photos en différents formats
# dans un sous dossier du nom du format
# si un mauvais format est donné en valeur
# la conversion se basera sur la première valeur pour conserver le ratio d'origine
#**********************************#
frm_error(){
zenity --error --height "260" --width "490" "$@" 2>/dev/null
}
frm_infos(){
zenity --info --height "260" --width "490" "$@" 2>/dev/null
}
## LOCALISATION(){
## VARIABLES TEXTE
#**********************************#
txtLAQUESTION="Choisissez votre résolution"
txtCOMPLEMENT="
Choisissez une option ou tapez une résolution
puis validez...
-------------------------------------
800x600 résolution LxH
ASTUCE :
largeur 300 adapte pour valeur largeur
xhauteur x400 adapte pour valeur hauteur
-------------------------------------
faites échap ou esc pour quitter"
txtERREUR="
est un répertoire.
usage : sélectionnez un ou plusieurs fichiers
ils seront réduits dans un sous dossier
du nom de la résolution"
txtPhotos_traitees="photos traitées : "
NB_PHOTOS=0
## }
## LOCALISATION
##Variables
dirdest=""
KA="800x600"
KB="1024x768"
KC="2048x1024"
KD="25%"
KE="50%"
KF="75%"
f_log=/dev/null
# f_log="/tmp/leuLog.txt"
# > "$f_log"
_quitter(){
echo "quitter proprement"
exit 0
}
les_arg="${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS}"
# frm_infos --title="débugage" --text="ARG : ${les_arg}"
[ ${#les_arg} -eq 0 ] && {
frm_error --text="dans Nautilus, donnez des images en argument"
exit 65
}
## On test si une des sélections est un dossier
old_IFS=$IFS
IFS=$'\n'
for un_element in ${les_arg}; do
# frm_infos --title="débugage" --text=${un_element}
if [ -d "${un_element}" ]; then
## il faut sélectionner un ou plusieurs fichiers images
## pas de dossier
frm_error --text="${un_element} \n$txtERREUR"
exit 12
fi
infoIMG=$(file -bi "${un_element}")
## Nombre de photos (normalement !) basé sur type mime
if [ "$infoIMG"="image"* ]; then
((NB_PHOTOS++))
fi
done
IFS=$old_IFS
# frm_infos --title="débugage" --text="Traitement des ${NB_PHOTOS} photos" --timeout "1"
lancement(){
## dans le texte de la variable résolution
## remplacement des espaces éventuels par rien
resolution="${resolution// /}"
## ATTENTION
## Avec la vue en arbre, crée le dossier dest. à la racine de l'arbre en cours
## création du dossier de destination
dirdest="$PWD/${resolution}"
[ ! -d "${dirdest}" ] && mkdir "${dirdest}"
## Début de la copie et conversion
local old_IFS=$IFS
local nbre=0
IFS=$'\n'
for arg in ${les_arg} ; do
((nbre++))
echo "#${base}\nimage $nbre / ${NB_PHOTOS}"
base="${arg##*/}"
# echo -e "$arg\n\t${base}\n\t${resolution}\n\t${dirdest}" >> /tmp/leuLog.txt
## Voir si le fichier de dest. n'existe pas déjà
## si oui renomme l'ancien avec un nombre entre
## nom et extension
[ -f "${dirdest}/${base}" ] && {
nDouble=0
while [ -f "${dirdest}/${base%.*}.${nDouble}.${base##*.}" ]
do
((nDouble++))
done
le_double="${base%.*}.${nDouble}.${base##*.}"
mv "${dirdest}/${base}" "${dirdest}/${le_double}"
}
## TOUT SE PASSE ICI
cp "${arg}" "${dirdest}/${base}"
convert "${dirdest}/${base}" -resize ${resolution} "${dirdest}/${base}" ;
shift ## SUIVANT !!!
done | zenity --progress --pulsate \
--title="${nomLogiciel} - ${VERSION_LOGICIEL}" \
--text="${txtPhotos_traitees} ${NB_PHOTOS}" --auto-close --auto-kill
# Notification système
# notify-send "${txtPhotos_traitees} ${NB_PHOTOS}" ;
IFS=$old_IFS
}
choisir_resolution(){
zenity --entry \
--title="${txtLAQUESTION}" \
--text="${NB_PHOTOS} photos trouvées\n${txtCOMPLEMENT}" \
--entry-text="${KB}" "${KA}" "${KB}" "${KC}" "${KD}" "${KE}" "${KF}"
}
## Choix de la résolution ou du facteur de réduction
resolution=$(choisir_resolution) ;
[ $? -eq 0 ] && lancement
exit 0
ANCIENNE VERSION
#!/bin/bash
#**********************************#
# kholo-informatique 2016
# www.kholo-informatique.fr
#**********************************#
#
#**********************************#
# CUDAIR : "Créer Un Dossier Avec Images Réduites"
#**********************************#
# 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.
#**********************************#
# nomLogiciel="$(basename "$0")" ;
nomlogiciel="${0##*/}"
FONCTION="Créer Un Dossier Avec Images Réduites - CUDAIR" ;
#**********************************#
VERSION_LOGICIEL="2017.03.02.1111" ;
#**********************************#
# NOTES DE VERSIONS
#
#**********************************#
# Ce script transforme des photos en différentes résolution
# dans un sous dossier du nom de la résolution
# si un mauvais format est donné en valeur
# la conversion se basera sur la première valeur pour conserver le ratio d'origine
#**********************************#
# function LOCALISATION {
# VARIABLES TEXTE
#**********************************#
txtLAQUESTION="Choisissez votre résolution"
txtCOMPLEMENT="
Choisissez une option ou tapez une résolution
puis validez...
-------------------------------------
format : hauteur x largeur
sans espace
-------------------------------------
faites échap ou esc pour quitter"
txtERREUR="
est un répertoire.
usage : sélectionnez un ou plusieurs fichiers
ils seront réduits dans un sous dossier
du nom de la résolution"
dirdest=""
KA="800x600"
KB="1024x768"
KC="2048x1024"
KD="25%"
KE="50%"
KF="75%"
txtPhotos_traitees="photos traitées : "
# }
# LOCALISATION
function _quitter {
echo "quitter proprement"
exit 0
}
# zenity --info --title="débugage" --text="$NAUTILUS_SCRIPT_SELECTED_URIS"
ARG="$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"
# zenity --info --title="débugage" --text="ARG : $ARG"
if [ $ARG=="" ]; then
zenity --info --text="dans Nautilus, donnez des images en argument"
exit
fi
# On test si une des sélections est un dossier
old_IFS=$IFS
IFS='
'
for i in $ARG; do
# zenity --info --title="débugage" --text=$i
if [ -d "$i" ]; then
# il faut sélectionner un ou plusieurs fichiers images
# pas de dossier
zenity --info --text="$i $txtERREUR"
exit
fi
done
IFS=$old_IFS
# Nombre de fichiers et donc de photos (normalement !)
NB_PHOTOS=$# ;
# zenity --info --title="débugage" --text="Traitement des $NB_PHOTOS photos" ;
function lancement {
# remplacement des espaces éventuels par rien
modele=" "
remplacement=""
resolution="${resolution//$modele/$remplacement}"
dirdest="$resolution" ;
# création du dossier de destination
if [ ! -d "$dirdest" ] ; then
# zenity --info --title="débugage" --text="création du dossier de destination" ;
mkdir "$dirdest" ;
fi
# Début de la copie et conversion
old_IFS=$IFS
IFS='
'
for arg in $ARG ; do
base=$(basename -- "$arg") ;
# name=${base%.*} ;
# TOUT SE PASSE ICI ***********************************
# cp "$base" ./"$dirdest" && cd "$dirdest" && convert "$base" -resize $resolution "$base" && cd .. ;
convert "$dirdest/../$base" -resize $resolution "$dirdest/$base" ;
shift
done | zenity --progress --pulsate --text="$txtPhotos_traitees $NB_PHOTOS \n$base" --auto-close --auto-kill ;
# Notification système
# notify-send "$txtPhotos_traitees $NB_PHOTOS" ;
IFS=$old_IFS
}
# Choix de la résolution ou du facteur de réduction
resolution=$(zenity --entry --title="$txtLAQUESTION" --text="$txtCOMPLEMENT" \
--entry-text="$KB" "$KA" "$KB" "$KC" "$KD" "$KE" "$KF") ;
if [ $? = 0 ]
then
lancement ;
# else
# _quitter ;
# exit 1 ;
fi
exit 0
Dernière modification par kholo (Le 16/08/2018, à 17:57)
Hors ligne
#6 Le 05/07/2017, à 17:49
- Compte anonymisé
Re : Alléger photos pour le Web
J'utilisais Photoshop Élément qui a une option "enregistrer pour le Web" et qui permet d’alléger la taille de photos pour le Web.
J'ai rien trouvé qui me permet de faire simplement la même chose.
Des idées ?
Gimp propose "enregister pour le web..." également dans son menu "fichier" quand on installe le paquet supplémentaire : gimp-plugin-registry
#7 Le 06/07/2017, à 10:02
- torxxl
Re : Alléger photos pour le Web
Bonjour,
merci pour vos réponses.
Je vais utiliser Gimp, va falloir que je me décide à l'apprendre :-)
Hors ligne
#8 Le 06/07/2017, à 10:42
- nam1962
Re : Alléger photos pour le Web
J'utilise convert pour faire des médaillons :
convert * -thumbnail 100x100 converti.jpg
Mais il suffit de le paramétrer autrement.
+1 : il n'y a pas plus rapide ou efficace : https://doc.ubuntu-fr.org/imagemagick
On met 5 minutes à ramer pour trouver la bonne commande et le bon réglage et ensuite on peut traiter et optimiser des dossiers entiers en une commande (ça prend le temps qu'il faut si le dossier est balaise).
Accessoirement et quand j'ai la flemme, j'utilise EWWW sur Wordpress (avantage : il crée plusieurs formats pour la même image) https://fr.wordpress.org/plugins/ewww-image-optimizer/
Dernière modification par nam1962 (Le 06/07/2017, à 10:43)
[ Modéré ]
Hors ligne
#9 Le 06/07/2017, à 11:06
- moko138
Re : Alléger photos pour le Web
...et qui permet d’alléger la taille de photos pour le Web.
J'ai rien trouvé qui me permet de faire simplement la même chose.
./viewtopic.php?id=2011303 Le sujet a été traité en détail il y a deux semaines.
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne
#10 Le 06/07/2017, à 11:21
- nam1962
Re : Alléger photos pour le Web
Avec un excellent post qui simplifie la vie : https://forum.ubuntu-fr.org/viewtopic.p … #p21751385
[ Modéré ]
Hors ligne