2010-03-14 16 views
1

J'ai besoin de mettre une image bitmap à mon filtre DirectShow. Ensuite, l'utilisateur peut utiliser cette image bitmap et ne se soucie pas où est-il. En premier lieu, j'importe ce fichier bitmap dans le regroupement de ressources et j'obtiens un IDB_BITMAP1.Comment charger des données d'image à partir d'un fichier bitmap de ressources pour un filtre DirectShow?

Ensuite, j'ai besoin de lire ce IDB_BITMAP1 en utilisant opencv cvLoadImage ou une API d'image Windows pour charger cette image dans le tampon.

Alors, question comment faire?

Ou est-ce possible?

Merci

Répondre

0

Je ne sais pas OpenCV, mais les API Win32 LoadImage() peuvent charger des ressources aussi bien. .: par exemple

LoadImage(hInstance, 
      MAKEINTRESOURCE(IDB_BITMAP1), 
      IMAGE_BITMAP, 
      /*...*/); 

+0

oui, je pense que oui. – Forrest

2

Je ne ai jamais essayé moi-même, mais je crois que vous pouvez utiliser Loadbitmap et GetBitmapBits pour ce faire:

HBITMAP hBitmap = LoadBitmap(hInstance,MAKEINTRESOURCE(IDB_BITMAP1)); 
GetBitmapBits(hBitmap, size, pBits);