Précalcul de dissimulation de lignes dans un zoom vertical hardware (v1)
Codé par Denis Duplan pour Stash of Code (http://www.stashofcode.fr, stashofcode@gmail.com) en 2017.
Précalcul des indices des lignes à supprimer lors d'un zoom (tout l'enjeu est déterminer un ordre qui ne paraît pas aberrant au spectateur).
Dans le zoom horizontal, on ne peut supprimer que le dernier pixel d'un groupe de 16 pixels. Au départ, l'image fait 20 groupes (306/16, l'image la plus large ne pouvant faire que 306 pixels de large en raison d'une contrainte résultant de la technique du décalage à droite et de la nécessité de centrer l'image horizontalement) : on la réduit ainsi à 306-15=291 pixels en veillant à chaque étape à la recentrer horizontalement à l'écran. Puis on recommence avec ce qu'il reste de groupes (291/16 = 19 groupes)... et ainsi de suite jusqu'à ce que la largeur de l'image étant passée sous celle d'un groupe (ie : ayant atteint 15 pixels), il ne soit plus possible de supprimer de pixels. A chaque passe, il n'est donc possible de supprimer que 15 pixels parmi tous ceux possibles (20 ou moins), et l'ordre dans lequel il sont supprimés a été déterminé empiriquement : partir du pixel du groupe le plus central occupé par ce qu'il reste de l'image, et s'en éloigner en oscillant autour de groupe en groupe. C'est ce procédé qui est reproduit ici pour le zoom vertical.
Pour utiliser l'outil, sélectionner une image dans le répertoire du fichier HTML (les contraintes de sécurité du navigateur interdisent de charger un fichier depuis un autre emplacement) et cliquer sur "Zoom!". Utiliser alors les boutons de la barre de contrôle sous l'image "Output" pour tester le zoom vertical.
Bitmap :
Strip height :
Input Output