Class LanczosStrategy

java.lang.Object
fr.univ_eiffel.legotools.image.LanczosStrategy
All Implemented Interfaces:
ResolutionStrategy

public class LanczosStrategy extends Object implements ResolutionStrategy
Stratégie de redimensionnement utilisant le filtre de Lanczos (Lanczos-3).

Pourquoi utiliser cette stratégie ?
C'est l'algorithme qui offre théoriquement la meilleure qualité possible pour la préservation des détails. Il est basé sur une fonction mathématique (Sinc) qui simule la reconstruction parfaite d'un signal analogique.

Contrepartie : C'est l'algorithme le plus lent du projet. Il effectue une convolution sur une zone de 6x6 pixels (36 opérations par pixel cible), contre 16 pour le bicubique et 4 pour le bilinéaire.

  • Constructor Details

    • LanczosStrategy

      public LanczosStrategy()
      Constructeur par défaut.
  • Method Details

    • resize

      public BufferedImage resize(BufferedImage source, int targetWidth, int targetHeight)
      Redimensionne l'image avec un filtre de convolution Lanczos.
      Specified by:
      resize in interface ResolutionStrategy
      Parameters:
      source - L'image d'origine.
      targetWidth - La largeur cible.
      targetHeight - La hauteur cible.
      Returns:
      L'image traitée, très nette mais coûteuse à calculer.