Imager - afficheur d'images

Soyez le premier à donner votre avis sur cette source.

Vue 1 032 fois - Téléchargée 264 fois

Description

Le programme Imager permet de visualiser tous les fichiers d'images disponibles sur l'ordinateur. Il est codé en cpp avec une architecture MFC pour fonctionner sous Windows 10 et être compilée avec Visual Studio Community 2019.

L’architecture du programme est un très classique document-vue avec la classe CImagerApp, dérivée de CWinApp pour l’application, contenue dans les fichiers Imager.h et Imager.cpp et la classe CMainFrame dérivée de CFrameWnd contenue dans les fichiers MainFrm.h et MainFrm.cpp. C’est facile de retrouver les autres éléments dans les différents fichiers source, car d’une manière générale, les noms ont un rapport avec les classes contenues.

La structure multi-vues utilise 10 groupes de classes pour gérer les différents types de fichiers images affichés, groupes gérés par la classe CMultiDocTemplate avec les arguments suivants :
. (UINT nIDResource, spécifie l'ID de la ressource utilisée avec ce type de document,
. CRuntimeClass* pDocClass, pointe l'objet d'une classe CDocument indiquant les opérations liées à ce type de document,
. CRuntimeClass* pFrameClass, pointe l'objet d'une classe CFrameClass indiquant les opérations support de la fenêtre propre à ce type de documents,
. CRuntimeClass* pViewClass) pointe l'objet d'une classe CViewClass indiquant les fonctions nécessaires à l'affichage de ce type de document.

Détails des 10 groupes :

. *.bmp IDR_IMAGER_BMP CImagerDoc CChildFrame CImageView
. *.gif IDR_IMAGER_GIF CImagerDoc CCHildFrame CGIFFView
. *.jpg IDR_IMAGER_JPG CImagerDoc CChildFrame CImagerView
. *.png IDR_IMAGER_PNG CImagerDoc CChildFrame CImagerView
. *.tif IDR_IMAGER_TIF CImagerDoc CChildFrame CTIFFView
. *.cur IDR_IMAGER_CUR CIconCurDoc CChildFrame CIconCurView
. *.ico IDR_IMAGER_ICO CIconCurDoc CChildFrame CIconCurView
. *.wmf IDR_IMAGER_WMF CImagerDoc CChildFrame CImagerView
. *.emf IDR_IMAGER_EMF CImagerDoc CChildFrame CImagerView
. Icônes Windows IDR_IMAGER_WIC CIconCurDoc CChildFrame CImagerView

Cette structure permet de localiser et identifier facilement les différents programmes gérant les différentes fonctions. Elles utilisent largement Gdiplus pour la lecture, l'écriture et l'affichage. Gdipus n'étant pas capable d'écrire les fichiers *.wmf, *.emf, *.ico et *.cur pour ces deux derniers types des fonctions sont ajoutées pour suppléer ces manques et en assurer l'écriture et l'affichage. Les fichiers BitmapUtil.h, BitmapUtil.cpp, IconCurs.h, IconCurs.cpp contiennent les procédures venant en complément, capables d'une part de gérer les bitmaps et d'autre part de traiter les icônes et les curser.

Ce programme n'est pas capable de traiter actuellement le nouveau format *.WEBP mais l'architecture permettra de rajouter facilement ces traitements lorsqu'ils seront disponibles.

Les Classes CHelpDlg et CTreeView assurent l’affichage d’un mode d’emploi avec l’aide des fichiers *.htm contenus dans le dossier Help ; le fichier HMenu.h contient le noyau initial du menu de l'aide. Cette partie peut facilement être transportée dans une autre application elle mets en œuvre ces 3 fichiers HelpDlg.h, HelpDlg.cpp et HMenu.h ; ce dernier assurant la liaison avec l’application. Pour l'exemple, la mise en ouvre de cette fonction est complètement contenue dans la Classe d’application CImagerApp.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.