Ignore:
Timestamp:
Jan 31, 2020, 8:29:39 PM (12 months 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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _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}
Note: See TracChangeset for help on using the changeset viewer.