Bonjour à tous !
Grâce à Gus Explorer v1.421, j’ai crée une petite application Java autonome qui permet de faire du redimensionnement en masse d’images en 300×300.
- Lien de téléchargement : 20180406_imageresizer.jar
- Taille : 57 060 Ko
Caractéristiques :
- Redimensionnement des images en 300×300
- Ajout de bords noirs pour respecter le ratio
- Conversion au format JPEG
- Cible les fichiers d’extension jpg, jpeg, bmp, gif et png
- Ignore les fichiers trop petits (taille inférieure à 4 Ko)
- Dédoublonne les fichiers en entrée, en se basant sur le MD5
- Réplique l’arborescence du répertoire d’entrée
- Indication de la progression du traitement par une barre grise
- Affichage de l’image en cours après redimensionnement
Utilisation :
- Vous devez disposer sur votre machine de Java 8. Si ce n’est pas le cas, vous pouvez télécharger et installer le JRE (Java Runtime Environment) depuis le site officiel d’Oracle.
- Téléchargez l’application ici, puis double-cliquez sur le fichier jar (il faut attendre quelques secondes avant que la fenêtre ne s’affiche)
- Déplacez et lachez sur la fenêtre de l’application le répertoire racine contenant les images à redimensionner. C’est parti !
Le script qui se cache derrière cette application :
En fait, le fichier JAR encapsule le script gus suivant :
@code
!—————————
!GRAPHICAL COMPONENTS
!—————————
$screen=§’gus.swing.panel.screen.image’
$progress=0._progress
$panel=(south:progress center:screen)._jpanel
$title=’ACTION_fullScreen#Image Resizer 300×300′
$frame=(content:panel size:’500 500′ display:title visible:true)._jframe1!—————————
!FILE FILTER
!—————————
$sizeFilter=’a._size>4000′._to_f
$extFilter=’a._isfile_ext. »jpg|jpeg|bmp|png|gif »‘._to_f
$fileFilter=sizeFilter && extFilter!—————————
!SCANNER BLOCK
!—————————
block0 ‘SCANNER’
$dir1=ff._unwrap_list
if dir1._isdir
$dir2=dir1+’_output’
*dir2._e_createdir$md5Set={}
$cc=[File:dir1,dir2]._mimicdir_forfiles_all
*progress._v.size#cc._sizeeach cc
*progress
if fileFilter#v.0 && !md5Set._has_add#v.0._md5._hexa
try
$image=v.0._image._resize#300
*screen#image$w=v.1._parent
*w._e_createdir$name=w._size._formatint.4+’.jpg’
*w.(name)._write_image#image!—————————
!INIT DRAG N DROP
!—————————
$scanner=’SCANNER’._block_to_p_with.ff._p_thr
*(comp:screen._i p:scanner)._dnd!—————————
!RUNTIME
!—————————
clock 100 while ‘frame._is_visible’
Avec l’application gusexplorer_1.421.jar, vous pouvez donc créer un fichier de script gus avec ce code-ci pour obtenir le même résultat. Vous pourrez aussi l’adapter, le faire évoluer, pour qu’il réponde à vos besoins plus précisément.
Gus Explorer permet naturellement de déployer le script pour recréer une nouvelle application autonome. Je vous expliquerai tout cela à l’occasion si ça vous intéresse.
N’hésitez pas à me faire des retours.
Augustin