0/5 (19 avis)
Snippet vu 11 415 fois - Téléchargée 41 fois
#include <olectl.h> #include <ole2.h> HBITMAP LoadAnImage(char* FileName) { WCHAR wpath[MAX_PATH]; MultiByteToWideChar(CP_ACP, 0, FileName, -1, wpath, MAX_PATH); IPicture* pPic; OleLoadPicturePath(wpath, NULL, NULL, NULL, IID_IPicture,(LPVOID*)&pPic); HBITMAP hPic = NULL; pPic->get_Handle((UINT*)&hPic); HBITMAP hPicRet = (HBITMAP)CopyImage(hPic, IMAGE_BITMAP, 0, 0, LR_COPYRETURNORG); pPic->Release(); return hPicRet; }
18 févr. 2011 à 15:12
mais aucune image ne s'affiche dans mon CControl...
Quelqu'un aurait une piste ?
Merci
17 déc. 2008 à 05:15
plus besoin de se faire chier avec ce CreateCompatibleBitmap de mrd !!!!
5 sept. 2008 à 19:45
HBITMAP hvar = (HBITMAP) LoadImage(NULL,"C:\path\fichier.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
24 juin 2007 à 19:33
http://members.cox.net/scottheiman/bmglib.htm
elle est tres bien ! elle recupere un HBITMAP a partir de differents types (et bien d'autrs fonctions sur les images) assez bien :
HBITMAP hBitmap = CreateBitmapFromJPEGFile( "mon_image.JPG" );
voila qui devrait participer a la resolution des prblemes de types ;)
22 juin 2007 à 15:23
voila j'ai un petit soucis... je suis pas un pro de c++ et encore moins de VC. Je suis sous VC7 (.net) et j'ai un soucis en utilisant ce script:
je suis alle voir la msdn qui conseil d'ailleurs d'utilisez CoInitializeEx pour les nouveaux programmes, il y a un parametre de plus : http://msdn2.microsoft.com/en-us/library/ms695279.aspx
Donc je test le CoInitializeEx (et non ex), cela me renvoit un code de reussite... de meme pour la conversion du path, mais lors de la conversion de l'image ca plante.
J'ai lu qu'il y avait des problemes avec OleLoadPicturePath si l'image de type JP(E)G, BMP, GIF ne sont pas bien "structures" allez savoir pourquoi... en ce qui me concerne j'ai donc teste sur plusieurs images crees avec PAINT (me disant que de MS a MS ca devrait aller) en differents formats, et j'ai toujours une erreur.
Quelqu'un aurait il eu le meme probleme en utilisant ce script? si oui quelle solution avez vous mis en place?
Est ce que le fait de desactiver cette librairie : "libcmt.lib" joue un role, ou egalement le fait que je soit en Single Threaded (je penche plus pour cette raison)?
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.