begin process at 2012 05 29 12:25:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

MFC

 > 

miniature -> agrandir


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

miniature -> agrandir

mardi 3 octobre 2006 à 09:17:35 | miniature -> agrandir

blinix123

Bonjour,
Voila tout d'abord je suis en C++ avec les MFC et la librairie GDI+.
J'ai une liste a droite qui m'affiche les images d'un dossier en miniature, et j'aimerais, lorque je clique sur une es images, qu'elle s'affiches en grand (320*240 par exemple) dans la picturebox d'à côté !
Or je ne sais pas vers quelles fonctions me tourner, car je crois qu'il doit y avoir beaucoup de mathémathiques en plus la dedans...!

Donc si vous connaisser ce genre de problèmes, les fonctions GDI+ qui vont avec, ou autres...

Merci d'avance.
mardi 3 octobre 2006 à 17:35:14 | Re : miniature -> agrandir

blinix123

Réponse acceptée !

solution EN GROS :

void CEssaiDlg::OnClickListeImagette(NMHDR* pNMHDR, LRESULT* pResult)
{
 // TODO: Add your control notification handler code here
 LPNMITEMACTIVATE pItemAct = (LPNMITEMACTIVATE)pNMHDR;


 LVHITTESTINFO  hitTest;
 memset(&hitTest, '\0', sizeof(LVHITTESTINFO));
 hitTest.pt = pItemAct->ptAction;
 m_cListeImagette.SendMessage(LVM_SUBITEMHITTEST, 0, (LPARAM)&hitTest);

 // Dessine l'image selectionnee
 if(hitTest.iItem != m_nSelectedItem && hitTest.iItem >= 0)
 {
  m_nSelectedItem = hitTest.iItem;
  m_bImage=TRUE;
  ChargeImage(m_nSelectedItem);
 } 
 *pResult = 0;
}


void CEssaiDlg::ChargeImage(int m_nSelectedItem)
{
 //Nouvelle fonction utilisant la bibliothèque gdi+ 
 using namespace Gdiplus;
 CString sDossier;
 CString strPath;

 int m_nLargeurImageSource,m_nHauteurImageSource;
 //double m_fRapportImage;
 //double m_fAgrandissement;


 LPCWSTR pszWide;


 // Lecture du fichier image
 strPath=m_VectorImageNames[m_nSelectedItem];

 USES_CONVERSION;   
 pszWide= A2CW(strPath);    //utilisation des macro de conversion string vers const wchar*
 //Chargement de l'image
 Bitmap BitmapSource(pszWide);  //Chargement de l'image

 //Dimensions de l'image source
 m_nLargeurImageSource=BitmapSource.GetWidth();
 m_nHauteurImageSource=BitmapSource.GetHeight();

 AfficheImage(&BitmapSource);

}

 

void CEssaiDlg::AfficheImage(Bitmap *BitmapAffiche)
{
 //La variable m_bAfficheImage peut être utilisée pour autoriser l'affichage de l'image
 //Surface d'affichage
 CDC*  pDC= m_cImageRect.GetDC();
 //Définition de l'objet graphique
 CRect m_Rect;
 //m_cImageRect.GetWindowRect(&m_Rect);
 m_cImageRect.GetClientRect(&m_Rect);
 Graphics graphicAffiche(pDC->m_hDC);
 CBrush brush;
 brush.CreateSolidBrush(RGB(0,0,0));
 //fond noir
 pDC->FillRect(m_Rect,&brush);  //On a pris le getdc de m_cImageRect donc le pt 0,0 est le bord de m_cImageRect
 //image
 //graphics.DrawImage(image, ImageDesRectf, SrcRectf,UnitPixel,NULL);

  /*CDC* pDC=m_cImageRect.GetDC();
 HDC hDCImage=CreateCompatibleDC(*pDC);
 SelectObject(*hDCImage,BmpResu);
 BitBlt(pDC,m_RectImage.left,m_RectImage.top,m_RectImage.Width(),m_RectImage.Height(),hDCImage,0,0,SRCCOPY);

*/
 graphicAffiche.DrawImage(BitmapAffiche,m_Rect.left,m_Rect.top,m_Rect.Width(),m_Rect.Height()); 
}



Cette discussion est classée dans : images, gdi, fonctions, agrandir, miniature


Répondre à ce message

Sujets en rapport avec ce message

GDI+ [ par tafting ] Bonjour,Je débute en C++ et j'aimerais pouvoir utiliser GDI+ avec Visual Studio 6.0 sur Windows XP SP1 mais je ne sais pas comment l'installer. J'ai r traitement d'image [ par rakicky ] salut a tousvoila,j'ai un travail sur le traitement d'imageOn m'a dis de creer des fonctions capable de detecter le contour d'image en C et de le test Application de la segmentation aux Images radiograhique médicales [ par mustaphaham2005 ] Bonjour , J'ai besoin des codes sources en C++ qui implemente le filtre de canny, pour le traitement d'une image Radiograhique , exemple la detection affichage d'images en C [ par poulpe82 ] bonjour Alors voila je suis nouveau sur ce site et je me suis inscris pour solliciter votre aide.Je suis en dernière année en électronique et j'effect les fonctions importées d'un processus ? [ par spy2008 ] salut;j'ai besoin d'un programme qui vérifier la validité d'un processus et donne les fonctions importées de ce processus qui peut me donner un lien o Gdiplus et bitblt? [ par Fituza ] Bonsoir, Après de nombreuses et infructueuses recherches sur le net je sollicite votre aide. Voilà j'essaie d'utiliser les fonctions que propose Gdipl


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,281 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales