Introduction
Je ne sais pas si vous avez déjà essayé de créer une galerie photos en C# dans une application Windows, mais si c’est le cas, vous avez sûrement dû être surpris par la lenteur d’affichage de celle-ci.
En effet, pour afficher une galerie, vous avez besoin d’ouvrir toutes les photos une par une, de générer une miniature (thumb) pour chacune d’entre elles et de les afficher dans votre listview. Ces opérations de lecture et de réduction sont très gourmande en interruptions et en puissance de calcul, d’autant plus si vous désirez que vos miniatures soient de bonnes qualité et donc réduites en utilisant un algorithme d’interpolation (Bicubic, bilinear, etc..).
Dans cet article, je vous donnerai donc une solution détaillée permettant un affichage rapide d’une galerie photo avec des miniatures de bonne qualité.
Application de démonstration et DLL :
http://fabien.agranier.com/articles/photogallerylistview/demo.zip
Sources complètes :
http://fabien.agranier.com/articles/photogallerylistview/sources.zip
Captures d'écran de l'application de démonstration :
