Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

imagemagick > thumbnail 500x500

7 réponses
Avatar
la.tete.o.carre
Bonjour =E0 tous

Je dois traiter tous les jours un grand nombre d'images pour un site
web. certaine sont petites et d'autre grandes (voir tr=E9s grandes).

Ce que je voudrai faire c'est un batch qui resize que les grandes,
avec imagemagick si je traite mes images avec "mogrify" et le
param=E8tre"-thumbnail 500x500" il traite toutes les images et agrandi
les petites pour les faire rentrer dans 500x500 pixels, ce qui est
tr=E9s moche.

moi, je ne voudrai traiter que les fichiers dont la largeur ou la
hauteur est sup=E9rieur =E0 500 pixels ;
pouvez-vous m'aidez ?

7 réponses

Avatar
Mihamina Rakotomandimby
wrote:
Bonjour à tous



Bonjour,

Je dois traiter tous les jours un grand nombre d'images pour un site
web. certaine sont petites et d'autre grandes (voir trés grandes).


[...]
moi, je ne voudrai traiter que les fichiers dont la largeur ou la
hauteur est supérieur à 500 pixels ;
pouvez-vous m'aidez ?



Il y a certainement une façon de l'écrire en plus court, mais comme je
l'ai pondu sur un coin de table, ça donne ça, en python+PIL (que tu peux
installer sous Windows):

import PIL
import glob

fichiers = glob.glob ('*.JPG')
fichiers = fichiers + glob.glob ('*.png')

rep="thumbs/"

def a_resizer(un_image):
(l,h)=un_image.size
if ((l< 500) and (h<500)):
return false
else:
return true

def get_thumb_size(un_image):
""" Attention ça ne check qu'une seule dimension """
(l,h)=un_image.size
cibleP0.
rapport=cible/h
return (int(l*rapport), cible)


for f in fichiers:
im=PIL.Image.open(f)
if a_resizer(im):
small=im.resize(get_thumb_size(im))
else:
small=im
small.save(rep+im.filename)
Avatar
Antoine
wrote :

Bonjour à tous

Je dois traiter tous les jours un grand nombre d'images pour un
site web. certaine sont petites et d'autre grandes (voir trés
grandes).

Ce que je voudrai faire c'est un batch qui resize que les grandes,
avec imagemagick si je traite mes images avec "mogrify" et le
paramètre"-thumbnail 500x500" il traite toutes les images et
agrandi les petites pour les faire rentrer dans 500x500 pixels, ce
qui est trés moche.

moi, je ne voudrai traiter que les fichiers dont la largeur ou la
hauteur est supérieur à 500 pixels ;
pouvez-vous m'aidez ?



Irfanview fait ça très bien.

--
Antoine
Avatar
la.tete.o.carre
On 1 oct, 19:46, Antoine wrote:

Irfanview fait a tr s bien.

--
Antoine



peut on le faire marcher en ligne de commande?
peut on créer des batch ?
Avatar
Antoine
wrote :

On 1 oct, 19:46, Antoine wrote:

Irfanview fait a tr s bien.

--
Antoine



peut on le faire marcher en ligne de commande?



Oui

peut on créer des batch ?



Oui

--
Antoine
Avatar
la.tete.o.carre
On 2 oct, 05:48, Antoine wrote:
wrote :

> On 1 oct, 19:46, Antoine wrote:

>> Irfanview fait a tr s bien.

>> --
>> Antoine

> peut on le faire marcher en ligne de commande?

Oui

> peut on créer des batch ?

Oui

--
Antoine



C'est cool, je vais le tester

sinon j'ai une réponse avec imagemagick sur fr.rec.photo.numerique :
http://groups.google.fr/group/fr.rec.photo.numerique/browse_frm/thread/97e9 0dbd9c0d260f#
Avatar
la.tete.o.carre
On 1 oct, 11:53, Mihamina Rakotomandimby
wrote:
wrote:
> Bonjour à tous

Bonjour,



> Je dois traiter tous les jours un grand nombre d'images pour un site
> web. certaine sont petites et d'autre grandes (voir trés grandes).
[...]
> moi, je ne voudrai traiter que les fichiers dont la largeur ou la
> hauteur est supérieur à 500 pixels ;
> pouvez-vous m'aidez ?

Il y a certainement une façon de l'écrire en plus court, mais comme j e
l'ai pondu sur un coin de table, ça donne ça, en python+PIL (que tu p eux
installer sous Windows):

import PIL
import glob

fichiers = glob.glob ('*.JPG')
fichiers = fichiers + glob.glob ('*.png')

rep="thumbs/"

def a_resizer(un_image):
     (l,h)=un_image.size
     if ((l< 500) and (h<500)):
         return false
     else:
         return true

def get_thumb_size(un_image):
     """ Attention ça ne check qu'une seule dimension """
     (l,h)=un_image.size
     cibleP0.
     rapport=cible/h
     return (int(l*rapport), cible)

for f in fichiers:
     im=PIL.Image.open(f)
     if a_resizer(im):
         small=im.resize(get_thumb_size(im))
     else:
         small=im
     small.save(rep+im.filename)



bien que j'ai trouver la réponse a mon pb avec imagemagick ; j'ai
installé Python et testé.
C'est top comme langage, merci pour le tuyau.
Avatar
Mihamina Rakotomandimby
bien que j'ai trouver la réponse a mon pb avec imagemagick ; j'ai
installé Python et testé.



Cool, avec un tel esprit ouvert (et du temps pour découvrir), on peut
arriver à beaucoup de choses magnifiques.
Moi j'ai aussi envie de decouvrir tous les frameworks, les langages, les
truc machin choses qui existent mais malheureusement, je manque de temps...