•  » Plugins
  •  » Plugin rotateImage

#1 2011-10-11 14:50:12

Dsls
Membre
2009-12-06
37

Plugin rotateImage

Hello,

Pour des besoins personnels (et surtout par flemme de réuploader beaucoup de fichiers, j'avoue), j'ai créé un petit plugin qui permet de pivoter par lot des images de galeries : rotateImage.

Il ajoute une entrée dans la gestion par lot, et est compatible avec les gros traitements, à la manière de la génération de miniatures, introduit dans piwigo 2.3.0.

N'hésitez pas à faire vos feedbacks dessus :)

(attention: première version, des bugs résiduels peuvent subsister, à éviter en production :)

URL du plugin : [extension by Dsls] rotateImage

--
Bruno

Hors ligne

#2 2011-10-11 14:54:14

Dsls
Membre
2009-12-06
37

Re: Plugin rotateImage

(Note : si l'image semble ne pas avoir été pivotée suite à l'action de rotation, bien recharger la page pour s'assurer qu'un la nouvelle image est bien chargée, et pas une image en cache)

Hors ligne

#3 2011-10-11 15:08:45

Gotcha
Equipe Piwigo
Pierrelatte (26)
2007-03-14
13324

Re: Plugin rotateImage

Intéressant, merci.


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE REVELATEUR DE L'ETRE

Hors ligne

#4 2011-10-11 17:38:37

P@t
Équipe Piwigo
Nice
2007-06-13
5694

Re: Plugin rotateImage

Salut

C'est à peu près ce que j'avais fait pour le plugin que j'ai fait vite fait cet été pour les même raisons que toi (et que je n'avais toujours pas publié). Par contre, tout comme moi, tu tournes aussi la HD, ce qui n'est pas vraiment recommandé, surtout si la seule bibliothèque graphique disponible est GD.

Pour éviter le problème du cache du navigateur, il suffit de rajouter un préfiltre pour coller à l'url des thumbnails un paramètre aléatoire (genre ?rand=xxxx). C'est ce que j'avais fait pour regenerateThumbnails.

PS: si tu me le permet, je ferai les modifications adéquates...


P@t

Hors ligne

#5 2011-10-11 17:44:56

P@t
Équipe Piwigo
Nice
2007-06-13
5694

Re: Plugin rotateImage

Je viens de livrer une version 0.2 pour corriger le plugin URI (comme ça, les utilisateurs pourront le mettre à jour facilement!)


P@t

Hors ligne

#6 2011-10-11 18:16:03

Dsls
Membre
2009-12-06
37

Re: Plugin rotateImage

P@t a écrit:

Je viens de livrer une version 0.2 pour corriger le plugin URI (comme ça, les utilisateurs pourront le mettre à jour facilement!)

Super, merci :)

Hors ligne

#7 2011-10-11 18:17:54

Dsls
Membre
2009-12-06
37

Re: Plugin rotateImage

P@t a écrit:

Salut
C'est à peu près ce que j'avais fait pour le plugin que j'ai fait vite fait cet été pour les même raisons que toi (et que je n'avais toujours pas publié).

Content de voir que nos avis convergent :)

Par contre, tout comme moi, tu tournes aussi la HD, ce qui n'est pas vraiment recommandé, surtout si la seule bibliothèque graphique disponible est GD.

Yep, a la limite ça devrait pouvoir se mettre en paramètre du plugin (et à désactiver par défaut).

Pour éviter le problème du cache du navigateur, il suffit de rajouter un préfiltre pour coller à l'url des thumbnails un paramètre aléatoire (genre ?rand=xxxx). C'est ce que j'avais fait pour regenerateThumbnails.

Je vais regarder ça de plus près. Si tu veux faire d'autres modifs, n'hésite surtout pas :)

Hors ligne

#8 2011-10-12 20:44:14

Dsls
Membre
2009-12-06
37

Re: Plugin rotateImage

Ca y est, la version 0.3 prend en compte les différentes remarques, la photo HD n'est plus pivotée par défaut.

Encore merci pour les conseils :)

Hors ligne

#9 2011-10-15 15:57:34

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12281

Re: Plugin rotateImage

Merci pour l'option sur la HD. Je propose une changement pour le paramétrage par défaut : si GD, alors impossible de pivoter la HD l'option n'est même pas montrée; sinon on montre l'option et elle est cochée par défaut.

Pour rappel : si la HD est transformée par GD, alors on perd toutes les métadonnées EXIF/IPTC... c'est un vrai soucis qui m'a contraint à masquer les options de redimensionnement/suppression de la HD en cas d'absence d'ImageMagick.

Hors ligne

#10 2012-02-23 11:28:18

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12281

Re: Plugin rotateImage

Bonjour Dsls,

J'ai testé plus en profondeur et le rotate de la HD ne fonctionne pas. Voici un patch (testé) :

Code:

Index: ws_functions.inc.php
===================================================================
--- ws_functions.inc.php        (revision 13313)
+++ ws_functions.inc.php        (working copy)
@@ -35,7 +35,7 @@
   include_once(PHPWG_ROOT_PATH.'admin/include/image.class.php');
   $image_id=(int)$params['image_id'];
   $angle=(int)$params['angle'];
-  $rotate_hd = (int) $params['rotate_hd'];
+  $rotate_hd = get_boolean($params['rotate_hd']);
   $query='
 SELECT id, path, tn_ext, has_high
   FROM '.IMAGES_TABLE.'
Index: rotate_image.tpl
===================================================================
--- rotate_image.tpl    (revision 13313)
+++ rotate_image.tpl    (working copy)
@@ -10,6 +10,7 @@
     else if (jQuery('[name="selectAction"]').val() == 'rotateImg')
     {
       angle = jQuery('select[name="rotate_angle"]').val();
+      rotate_hd = jQuery("#rotate_hd").is(':checked');
       e.stopPropagation();
     }
     else
@@ -54,6 +55,7 @@
           method: "pwg.image.rotate",
           format: 'json',
           angle: angle,
+          rotate_hd: rotate_hd,
           pwg_token: ri_pwg_token,
           image_id: elements[i]
         },
@@ -82,7 +84,7 @@
     {if $library != 'gd'}
     <tr>
       <th><label for="rotate_hd">{'Also rotate HD image'|@translate}</label></th>
-      <td><input type="checkbox" name="rotate_hd" id="rotate_hd" {if $upload_form_settings.thumb_crop}checked="checked"{/if}></td>
+      <td><input type="checkbox" name="rotate_hd" id="rotate_hd" checked="checked"></td>
     </tr>
     {/if}
   </table>

D'autre part (et dans la logique de l'arrivée 2.4), il serait intéressant de pouvoir ne tourner que la HD (et de regénérer les tailles plus petites). Et d'ajouter l'angle "utiliser l'orientation EXIF".

Je peux appliquer le patch si tu veux et faire cette petite évolution.

Hors ligne

#11 2012-02-23 11:30:25

Dsls
Membre
2009-12-06
37

Re: Plugin rotateImage

plg a écrit:

D'autre part (et dans la logique de l'arrivée 2.4), il serait intéressant de pouvoir ne tourner que la HD (et de regénérer les tailles plus petites). Et d'ajouter l'angle "utiliser l'orientation EXIF".

Je peux appliquer le patch si tu veux et faire cette petite évolution.

Pas de souci, je te laisse faire :)

(je suis carrément sous l'eau de mon coté, si je le prends à ma charge ça risque de prendre du temps avant de voir le jour :)

Hors ligne

#12 2012-02-23 11:39:46

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12281

Re: Plugin rotateImage

OK parfait, je viens de commiter ce patch là [Subversion] r13314 et je vais essayer d'ajouter d'autres petits trucs :

1) la prise en compte du taux de compression JPEG
2) le "use EXIF rotation" pour l'angle
3) plutôt que de tourner chaque taille, on regénère les tailles inférieures à partir de la HD
4) mettre à jour le tag d'orientation EXIF

Hors ligne

#13 2012-02-23 11:46:53

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12281

Re: Plugin rotateImage

plg a écrit:

4) mettre à jour le tag d'orientation EXIF

C'est déjà fait dans le core ça en fait :

Code:

  function rotate($rotation)
  {
    $this->image->rotateImage(new ImagickPixel(), -$rotation);
    $this->image->setImageOrientation(Imagick::ORIENTATION_TOPLEFT);
    return true;
  }

Hors ligne

#14 2012-02-23 15:38:48

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12281

Re: Plugin rotateImage

Voilà, version 0.5 avec tout ce que j'ai décrit plus haut :

bug corrigé : l'option de rotation de la HD n'était jamais appliquée

utilisation du paramètre de qualité de compression

seule la plus grande taille est tournée, les autres sont regénérées

nouvelle option pour calculer automatiquement l'angle de rotation à partir des informations EXIF

Hors ligne

#15 2012-07-14 09:04:10

kelsur63
Invité

Re: Plugin rotateImage

Bonjour,
Comment se fait-il que ce plugin n'est plus compatible en version 2.4?

  •  » Plugins
  •  » Plugin rotateImage

Pied de page des forums

Propulsé par FluxBB

github twitter facebook newsletter Faire un don Piwigo.org © 2002-2019 · Contact