동적으로로드 할 비트 맵 이미지가 있습니다. 하지만로드 할 수 없습니다.동적으로 CBitmap로드
CBitmap bmp;
bmp.LoadBitmap("c:\\aeimg");
작동하지 않는 것 같습니다. 누군가 나를 도울 수 있습니까?
감사합니다.
동적으로로드 할 비트 맵 이미지가 있습니다. 하지만로드 할 수 없습니다.동적으로 CBitmap로드
CBitmap bmp;
bmp.LoadBitmap("c:\\aeimg");
작동하지 않는 것 같습니다. 누군가 나를 도울 수 있습니까?
감사합니다.
또한 이런 식으로 뭔가를 시도 할 수 있습니다 :
CImage image;
image.Load(_T("C:\\image.png"));
CBitmap bitmap;
bitmap.Attach(image.Detach());
파일에서 비트 맵을로드하려면 LoadImage
에 LR_LOADFROMFILE
플래그를 사용하고 싶습니다.
C 화상 내가 체크/시도 PNG 마지막으로 작동하지 않습니다. CxImage - http://www.codeproject.com/KB/graphics/cximage.aspx을보십시오.
백 슬래시를 벗어나는 것을 잊어 버리는 것처럼 간단 할 수 있습니다. 대신 그렇지 않으면 당신이 LoadBitmap 방법에 잘못된 경로를 전달하는
bmp.LoadBitmap("c:\\aeimg");
사용
bmp.LoadBitmap("c:\aeimg");
의.
"c : \\ aeimg"경로를 지정한 후에도 작동하지 않습니다. – Ashish
그는 투표를 할 필요가 없으며 완벽하게 유효한 제안을했습니다. –
CBitmap 설명서에 따르면 : LoadBitmap()
함수는 비트 맵의 리소스 식별자 또는 비트 맵의 리소스 ID를 사용합니다.
비트 맵 파일의 경로를 지정할 수 없습니다.
예. 그렇지 않으면 전처리 동안
과 및 Resource.h이 MYBMP의 항목이 없는지 확인
MyProject.rc
------------
MYBMP BITMAP "res\myimage.bmp"
ID로 대체
FindResource()
이 실패로 응용 프로그램 리소스를 찾을 수 있기 때문에 궁극적으로
LoadBitmap()
실패합니다.
CBitmap bmp;
bmp.LoadBitmap(L"MYBMP");
그것은 확실히 비트 맵을로드합니다 :
지금이 작업을 수행.
CBitmap
은 .bmp 파일에서 직접 읽는 것을 지원하지 않습니다. 다른 답변에서 제안 된대로 CImage
클래스를 대신 사용할 수 있습니다. 당신은 CImage
작동하도록 코드에서 atlimage.h
을 포함해야합니다 :
#include <atlimage.h>
:
CImage img;
img.Load (_T("C:\\image.bmp"));
CBitmap bitmap;
bitmap.Attach(img.Detach());
또 다른 방법은 이미지 LoadImage
의 Win32 API를 사용하고 그 다음에 CBitmap
부착로드하는 것입니다 :
HBITMAP hBitmap = (HBITMAP)LoadImage(NULL,"c:\\image.bmp",
IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
if (hBitmap != NULL)
bitmap.Attach(hBitmap);
그것은 BMP를 지원을, jpg, gif 및 png. http://msdn.microsoft.com/en-us/library/d06f3fhw(VS.80).aspx –
필자는이 파일을 살펴보고 파일에서 로딩하는 것이 올바른지 확인했습니다. CImage :: LoadFromResource()는 LoadImage()를 사용하고 Load()는 GDI +를 사용하기 때문에 리소스에서 png를로드 할 수 없다는 내 기억이 있습니다. – Roel