Seenthis
•
 
Identifiants personnels
  • [mot de passe oublié ?]

 

b_b

@b_b
http://blog.eliaz.fr
RSS: b_b
tous les messages de b_b
  • @b_b
    b_b @b_b PUBLIC DOMAIN 1/02/2020
    5
    @rastapopoulos
    @jeanmarie
    @cy_altern
    @arno
    @spip
    5

    Suite à la discussion à propos du site LOW←TECH MAGAZINE et du format d’image qu’il utilise cf ►https://seenthis.net/messages/809252 je me suis amusé avec imagick pour ajouter un filtre image_tramer pour #SPIP :

    ▻https://zone.spip.net/trac/spip-zone/changeset/120905

    Ça permet donc de générer des images « tramées » en mode « ordered dithering » qu’on peut ensuite décorer à coup de css mix-blend-mode: hard-light; sur une couleur d’arrière plan.

    Exemples d’images générées par le filtre (en mode natif sans couleur d’arrière plan) :

    https://pic.infini.fr/zRAG8dXL/owTTKtWF.jpg

    PS : les trois premières images ont les mêmes dimensions que l’originale, je les ai affiché en mode pleine largeur uniquement pour mieux montrer les détails de l’effet obtenu par le filtre.

    #spip_blog

    b_b @b_b PUBLIC DOMAIN
    • @rastapopoulos
      RastaPopoulos @rastapopoulos CC BY-NC 1/02/2020

      excellent !
      et c’est que pour imagemagick ou ça marche avec gd2 aussi ?

      #web #image #webperf

      RastaPopoulos @rastapopoulos CC BY-NC
    • @b_b
      b_b @b_b PUBLIC DOMAIN 1/02/2020

      Uniquement sous imagick, mais on peut imaginer d’ajouter un fallback sous gd, faut juste trouver le bon trick pour obtenir un résultat similaire.

      Lors de mes essaie j’ai joué avec la lib ▻https://github.com/ccpalettes/gd-indexed-color-converter mais ça n’utilise pas la même méthode « Floyd–Steinberg » VS « ordered dithering » et le résultat ne me convenait pas aussi bien côté rendu que poids de l’image générée, exemple :

      https://pic.infini.fr/qS2sIxeT/l1LAArdV.png

      PS : une piste par ici ▻https://github.com/kosinix/grafika/blob/master/src/Grafika/Gd/Filter/Dither.php#L135

      b_b @b_b PUBLIC DOMAIN
    • @b_b
      b_b @b_b PUBLIC DOMAIN 8/05/2020

      J’ajoute les liens qui m’ont été utiles en vrac pour référence si jamais quelqu’un veut s’y recoller un jour :

      ▻https://github.com/lowtechmag/solar-plugins/blob/master/dither/dither.py
      ▻https://bisqwit.iki.fi/story/howto/dither/jy
      ▻https://en.wikipedia.org/wiki/Ordered_dithering
      ▻https://web.archive.org/web/20070927122512/http://www.efg2.com/Lab/Library/ImageProcessing/DHALF.TXT
      ▻https://imagej.net/Dithering

      Et mon squelette de debug et ses fonctions qui contiennent mes essais non achevés pour le faire avec GD cf image_tramer_floydsteinberg() & image_tramer_gd() :

      ▻https://gist.github.com/brunob/055fac68c1283b6d89ee7a1e3f2a9fd6

      b_b @b_b PUBLIC DOMAIN
    • @rastapopoulos
      RastaPopoulos @rastapopoulos CC BY-NC 8/05/2020

      tiens d’ailleurs ça se passe comment quand on utilise un filtre qui n’est pas multi-librairie, que pour une, mais qu’on est sur une autre ? ça fait rien, ou ça fait une erreur ?

      RastaPopoulos @rastapopoulos CC BY-NC
    • @b_b
      b_b @b_b PUBLIC DOMAIN 8/05/2020
      @rastapopoulos

      Je ne comprends pas ta question @rastapopoulos ^^

      un filtre qui n’est pas multi-librairie, que pour une, mais qu’on est sur une autre

      Gné ?

      b_b @b_b PUBLIC DOMAIN
    • @rastapopoulos
      RastaPopoulos @rastapopoulos CC BY-NC 8/05/2020

      bah librairie d’image, un filtre qui au final ne marche qu’avec telle librairie précise. La plupart des filtres fournis marchent avec toutes les librairies, donc on se dit qu’on peut tous les utiliser, mais ça fait quoi si on est sur une autre du coup ?

      RastaPopoulos @rastapopoulos CC BY-NC
    • @b_b
      b_b @b_b PUBLIC DOMAIN 8/05/2020

      ’k, ben ça ne fait rien à part renvoyer l’image d’origine cf le test if (method_exists('Imagick', 'orderedPosterizeImage')) {, pas de génération d’erreur donc, si c’était ta crainte.

      b_b @b_b PUBLIC DOMAIN
    • @rastapopoulos
      RastaPopoulos @rastapopoulos CC BY-NC 8/05/2020

      ok merci :)

      RastaPopoulos @rastapopoulos CC BY-NC
    • @b_b
      b_b @b_b PUBLIC DOMAIN 18/01/2021

      Pour référence, un article au sujet du tramage/dithering :

      ▻https://surma.dev/things/ditherpunk

      b_b @b_b PUBLIC DOMAIN
    Écrire un commentaire

thèmes

  • #SPIP
  • #spip_blog
Propriété intellectuelle Recommandations API