Changeset 120905 in spip-zone


Ignore:
Timestamp:
Jan 31, 2020, 8:29:39 PM (3 weeks ago)
Author:
bruno@…
Message:

version 0.7.0 : nouveau filtre image_tramer

pour tramer une image, de préféence en niveaux de gris, à la LOW←TECH MAGAZINE

Location:
_plugins_/fonctions_images/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/fonctions_images/trunk/demo/fonctions_images.html

    r112349 r120905  
    1818                        </BOUCLE_menu_couleurs>
    1919                        <li class="menu__item menu__item_header">Traitement des images</li>
    20                         <BOUCLE_menu_images(DATA){liste image_saturer,image_niveaux_gris_auto,image_courbe,image_float,image_contour_alpha,image_sincity,image_estampage_alpha,image_merge,image_negatif}>
     20                        <BOUCLE_menu_images(DATA){liste image_saturer,image_niveaux_gris_auto,image_courbe,image_float,image_contour_alpha,image_sincity,image_estampage_alpha,image_merge,image_negatif,image_tramer}>
    2121                        <li class="menu__item"><a href="[(#ENV{filtres}|=={images}|?{##VALEUR,#SELF|parametre_url{filtres,images}|ancre_url{#VALEUR}})]" class="ajax">#VALEUR</a></li>
    2222                        </BOUCLE_menu_images>
  • _plugins_/fonctions_images/trunk/demo/inc-filtres_images.html

    r112349 r120905  
    300300        </div>
    301301</div>
     302
     303<!-- image_tramer -->
     304<div class="boite" id="image_tramer">
     305        <h2 class="boite__titre">image_tramer</h2>
     306        <p>
     307                Tramer une image (en mode niveaux de gris) à la <a href="https://github.com/lowtechmag/solar/wiki/Solar-Web-Design#dithered-images">LOW←TECH MAGAZINE</a>
     308        </p>
     309        <dl class="codeblock">
     310                <dt>Syntaxe</dt>
     311                <dd><code>image_tramer{url_image, 6, o8x8}</code></dd>
     312                <dt>Paramètre 1</dt>
     313                <dd>Url de l'image servant de filtre</dd>
     314                <dt>Paramètre 2</dt>
     315                <dd>Nombre : niveaux de couleurs à utiliser</dd>
     316                <dt>Paramètre 3</dt>
     317                <dd>Booléen : générer une image en couleurs</dd>
     318                <dt>Exemple</dt>
     319                <dd><code class="Exemple">#VAL{"\[\(#CHEMIN{images/ecureuil.jpg}|image_tramer\)\]"}</code></dd>
     320        </dl>
     321        <div class="apercu apercu_images">
     322                <div class="apercu__item alpha on bordure"><p>originale</p>[(#CHEMIN{images/ecureuil.jpg}|balise_img)]</div>
     323                <BOUCLE_imgtramer1(DATA){liste 3,6,11}>
     324                <div class="apercu__item"><p>#VALEUR</p>[(#CHEMIN{images/ecureuil.jpg}|image_tramer{#VALEUR})]</div>
     325                </BOUCLE_imgtramer1>
     326        </div>
     327        <div class="apercu apercu_images">
     328                <div class="apercu__item alpha on bordure"><p>originale</p>[(#CHEMIN{images/ecureuil.jpg}|balise_img)]</div>
     329                <BOUCLE_imgtramer2(DATA){liste checks,o8x8,h8x8a,h16x16o,c5x5b,c5x5w,c6x6b,c6x6w,c7x7b,c7x7w}>
     330                <div class="apercu__item"><p>6,#VALEUR</p>[(#CHEMIN{images/ecureuil.jpg}|image_tramer{6,#VALEUR})]</div>
     331                </BOUCLE_imgtramer2>
     332        </div>
     333                <div class="apercu apercu_images">
     334                <div class="apercu__item alpha on bordure"><p>originale</p>[(#CHEMIN{images/ecureuil.jpg}|balise_img)]</div>
     335                <BOUCLE_imgtramer3(DATA){liste 3,6,11}>
     336                <div class="apercu__item"><p>#VALEUR,o8x8,oui</p>[(#CHEMIN{images/ecureuil.jpg}|image_tramer{#VALEUR,o8x8,oui})]</div>
     337                </BOUCLE_imgtramer3>
     338        </div>
     339</div>
  • _plugins_/fonctions_images/trunk/filtres/images_complements.php

    r112348 r120905  
    11951195        return _image_ecrire_tag($image,array('src'=>$dest));
    11961196}
     1197
     1198/**
     1199 * Tramer une image avec la fonction orderedPosterizeImage d'Imagick
     1200 * Inspiré de https://github.com/lowtechmag/solar/wiki/Solar-Web-Design#dithered-images
     1201 *
     1202 * @param string $im
     1203 *     Chemin de l'image ou balise html `<img src=... />`
     1204 * @param int $levels
     1205 *     Le nombre de niveaux de couleurs à utiliser
     1206 * @param string $thmap
     1207 *     Le nom de la carte de seuils de dither cf http://www.imagemagick.org/Usage/quantize/tmaps_list.txt
     1208 * @param boolean $color
     1209 *     Générer une image en couleurs
     1210 * @return string balise image
     1211 */
     1212function image_tramer($img, $levels = 6, $thmap = 'o8x8', $color = false){
     1213        $cache = _image_valeurs_trans($img, "tramer-".json_encode(array($thmap, $levels, $color)), 'png');
     1214        if (!$cache) {
     1215                return false;
     1216        }
     1217        // facile !
     1218        if ($cache['format_source'] === 'svg'){
     1219                return $img;
     1220        }
     1221
     1222        $fichier = $cache["fichier"];   
     1223        $dest = $cache["fichier_dest"];
     1224        $creer = $cache["creer"];
     1225
     1226        if ($creer) {
     1227                if (method_exists('Imagick', 'orderedPosterizeImage')) {
     1228                        $imagick = new Imagick();
     1229                        $imagick->readImage($fichier);
     1230                        if (!$color) {
     1231                                $imagick->setImageType(Imagick::IMGTYPE_GRAYSCALE);
     1232                        }
     1233                        $imagick->orderedPosterizeImage($thmap.','.$levels);
     1234                        $imagick->setImageFormat('png');
     1235                        $imagick->writeImage($dest);
     1236                }
     1237        }
     1238
     1239        return _image_ecrire_tag($cache, array('src' => $dest));
     1240}
  • _plugins_/fonctions_images/trunk/fonctions_images_fonctions.php

    r110143 r120905  
    2222        $GLOBALS['spip_matrice']['image_monochrome'] = 'filtres/images_complements.php';
    2323        $GLOBALS['spip_matrice']['image_merge'] = 'filtres/images_complements.php';
     24        $GLOBALS['spip_matrice']['image_tramer'] = 'filtres/images_complements.php';
    2425
    2526        $GLOBALS['spip_matrice']['couleur_chroma'] = 'filtres/couleurs_complements.php';
  • _plugins_/fonctions_images/trunk/paquet.xml

    r112349 r120905  
    22        prefix="fonctions_images"
    33        categorie="multimedia"
    4         version="0.6.15"
     4        version="0.7.0"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.2.*]"
Note: See TracChangeset for help on using the changeset viewer.