왼쪽의 리스트 컨트롤에 이미지를 등록하고, 더블 클릭하면 오른쪽의 창에 띄우기.
지원하는 포멧은 tga, png, jpg, tif, bmp 이다. Gdiplus 를 이용했다.
왼쪽 CListCtrl 대신에 CImageListControl 를 사용해야하고, 오른쪽은 IDC_STATIC 인데..
CImageArea로 선언해야 한다.
----------------------------------------------------------------------------------------------
어디선가 받은 오픈소스인데 세팅하는 방법이 너무 복잡해서,
CListCtrl 상속을 받아서 외부에서 선언만 하면 띄울수 있게 만들었다.
#include <gdiplus.h>
using namespace Gdiplus;
#pragma comment (lib, "gdiplus.lib");
static ULONG_PTR m_gdiplusToken;
void Init()
{
if (m_gdiplusToken)
return;GdiplusStartupInput gdiplusStartupInput;
GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL);}
void Shutdown()
{
if (!m_gdiplusToken)
return;GdiplusShutdown(m_gdiplusToken);
m_gdiplusToken = NULL;}
Bitmap img( A2W(strPath) );
// 사이즈 변경
Bitmap* pThumbnail =
static_cast<Bitmap*>(img.GetThumbnailImage(m_sizeWidth, m_sizeHeight, NULL, NULL));
pThumbnail->GetHBITMAP(NULL, &hBmp);
CBitmap* pImage = new CBitmap();
pImage->Attach(hBmp);
///////////////////////////////////////////////////////////////////////////////////////////////////
Visual C++ MFC 샘플
SimpleImage 샘플에서는
샘플 빌드 및 실행
SimpleImage샘플을 빌드하고 실행하려면
- 솔루션 파일인 SimpleImage.sln을 엽니다.
- 빌드 메뉴에서 빌드를 클릭합니다.
- 디버그 메뉴에서 디버깅하지 않고 시작을 클릭합니다.
이 샘플은 다음 작업이 가능한 간단한 응용 프로그램입니다.
- 디스크에서 다양한 형식의 이미지 로드
- 이미지 크기 조정 및 컬러에서 회색조로 변환
- 여러 가지 이미지 형식으로 이미지 저장
'C & C++ > MFC Media' 카테고리의 다른 글
DLL 에 있는 비트맵(Bitmap) 리소스를 실행 파일로 가져오는 방법 3가지 (0) | 2011.12.14 |
---|---|
Dialog 를 캡쳐하여 인쇄하기 (0) | 2011.10.25 |
배경 이미지 연속적으로 돌리기 (0) | 2011.04.28 |
화면 갱신 OnPaint(), OnDraw(), Invalidate() (0) | 2011.04.27 |
GDI 를 이용한 그래픽 출력을 위한 모든 도구, 함수의 집합 (0) | 2011.04.25 |
댓글