imagemagick > thumbnail 500x500

Le
la.tete.o.carre
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 ?
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Mihamina Rakotomandimby
Le #22068051
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)
Antoine
Le #22067971
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
la.tete.o.carre
Le #22067931
On 1 oct, 19:46, Antoine

Irfanview fait a tr s bien.

--
Antoine



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

On 1 oct, 19:46, Antoine

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
la.tete.o.carre
Le #22067901
On 2 oct, 05:48, Antoine
wrote :

> On 1 oct, 19:46, Antoine
>> 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#
la.tete.o.carre
Le #22067491
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.
Mihamina Rakotomandimby
Le #22067471
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...
Publicité
Poster une réponse
Anonyme