Pastille rouge : un exemple de filtre d'image avec la lib GD - commentaires Pastille rouge : un exemple de filtre d'image avec la lib GD 2010-02-16T14:05:35Z https://contrib.spip.net/Pastille-rouge-un-exemple-de#comment426521 2010-02-16T14:05:35Z <p>Effectivement, comme l'auteur de cet exemple, c'est en recherchant de la doc que...</p> <p><strong>Existe-t-il une documentation de référence chez SPIP</strong> sur les normes à respecter pour écrire des filtres d'image, sans avoir à décortiquer les exemples de nos bons maîîîîtres....<small class="fine d-inline"> </small>? (encore que l'on a ici des explications claires)</p> <p>... plus peut-être qq exemples de mise en oeuvre dans squelettes / modèles / textes d'articles...</p> <p>Merci à tous pour ces travaux communautaires.</p> Pastille rouge : un exemple de filtre d'image avec la lib GD 2009-08-20T16:15:08Z https://contrib.spip.net/Pastille-rouge-un-exemple-de#comment419575 2009-08-20T16:15:08Z <p>Merci pour ces explications. J'ai cherché en vain de la documentation sur comment écrire un filtre d'image (d'où la motivation de cet article), du coup ces explications tombent très bien. Mais est-ce que ça ne vaudrait pas le coup de documenter tout ça « officiellement »<small class="fine d-inline"> </small>? (mes excuses par avance si cette doc existe et que je l'ai loupée)</p> Pastille rouge : un exemple de filtre d'image avec la lib GD 2009-08-20T15:32:31Z https://contrib.spip.net/Pastille-rouge-un-exemple-de#comment419570 2009-08-20T15:32:31Z <p>Attention, cette contribution montre un exemple erroné.<br class="autobr"> Les filtres images dont le nom commence par <code class="spip_code spip_code_inline" dir="ltr">image_</code> doivent tous suivre et respecter la construction de ceux du core, à savoir :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>function image_exemple($im, ...) { $fonction = array('image_exemple', func_get_args()); $image = image_valeurs_trans($im, "image_exemple", false,$fonction); if (!$image) return(""); $x_i = $image["largeur"]; $y_i = $image["hauteur"]; $im = $image["fichier"]; $dest = $image["fichier_dest"]; $creer = $image["creer"]; if ($creer) { $im = $image["fonction_imagecreatefrom"]($im); imagepalettetotruecolor($im); $im_ = imagecreatetruecolor($x_i, $y_i); // ... traitement de l'image ... image_gd_output($im_,$image); imagedestroy($im_); imagedestroy($im); } return image_ecrire_tag($image,array('src'=>$dest)); }</code></pre></div> <p>Il est donc obligatoire : <br>- d'utiliser <code class="spip_code spip_code_inline" dir="ltr">image_valeur_trans</code> en entrée pour analyser l'image source et recuperer ses propriétés, en donnant comme information le nom et les arguments de la fonction <br>- de finir par <code class="spip_code spip_code_inline" dir="ltr">image_ecrire_tag</code> pour produire le html de l'image.</p> <p>Ces contraintes sont nécessaires pour permettre à SPIP de gèrer la suppression automatique des images temporaires intermédiaires.</p> <p>A défaut, si vous ne voulez pas respecter cette écriture, il faut nommer la fonction autrement, sans la faire commencer par le prefixe <code class="spip_code spip_code_inline" dir="ltr">image_</code></p>