GSI

사용자 삽입 이미지

그레이 스케일로 표현해주는 코드가 일부 들어가 있는 소스입니다.
MFC DLL 형태로 제작되어 있으며, 바로 이전의 게시물과 거의 동일한 구조입니다.
몇가지 단위 테스트를 위해서 제작된 샘플 프로젝트입니다.

관련 소스 :


.
Posted by gsi
:

사용자 삽입 이미지

MFC DLL : 한장의 이미지를 보여 주는 dll 파일입니다.
                현재 jpg의 파일만 인코딩이 가능합니다.
                (이 부분은 확장자를 사용해서 처리 하시면 됩니다. 아직 그건 추가 하지 않았네요. )

사용시에는 아래의 코드를 이용 하시면 됩니다.

 CDlgImage dlg( "E:\\Gsi_Project\\정상옥_프로젝트\\Project\\2008_06_23_LAM_ModuleTest\\bin\\blue.jpg" );
 dlg.DoModal();

이외의 생성자 인자로서는 해당 width, height를 입력해줄 수 있으며,
내부 코드에서는 해당 다이얼로그에 맞도록 리셈플링 처리가 되어 있습니다.


실행파일 :



.

프로젝트 파일 :


.

Posted by gsi
:


http://www.codeproject.com/KB/graphics/cximage.aspx

CxImage 6.0 Full 코드를 컴파일 해서
png, jpg, bmp, gif 를 지원하도록 처리 해서 생성해 놓은 코드 임.



.
Posted by gsi
:

사용자 삽입 이미지

기존에는 mfc를 사용해서 확장성 있는 컨트롤 만드는게 개념이 너무 안잡혔다.
지금 생각해 보면 너무 몰랐던 것이다.

하지만 지금은 wpf 및 기타 다른 기술들을 배우다 보면서,
확장성에 대해서 많이 발전한 모습이 눈에 뛰는거 같다.

아래의 에제는 ActiveX 폼에
CStatic로 타이틀 바를 만들고 그 아래에 이미지 박스를 CStatic로 추가 해서
컨트롤을 하나 만들려고 한다.

임시로 만들어 놓은 작업 물이지만 참고 하기에 좋을거 같아서.
우선 추가를 해놓을려고 한다.

혹시 궁금하시면 질문 주세요.

관련코드 :

Posted by gsi
:

CXImage 연동 라이브러리.

C++ 2007. 12. 3. 18:09 |

CxImage 라이브러리 폴더를 해당 프로젝트에 추가 한다.

1. 인클루드를 추가한다.

#include "./CXImage599_Lib/ximage.h"
#pragma comment(lib, "./CXImage599_Lib/cximaged.lib")

2. 해당 경로명의 확장자(이미지 타입)을 얻어 오는 함수를 추가한다.

// CDlgSequencePage 메시지 처리기입니다.
int GetTypeFromFileName(CString& str)
{
 CString fileName = str;
 CString ext3=fileName.Right(3);
 CString ext4=fileName.Right(4);
#if CXIMAGE_SUPPORT_PNG
 if(ext3.CompareNoCase(_T("png"))==0)
  return CXIMAGE_FORMAT_PNG;
#endif
#if CXIMAGE_SUPPORT_BMP
 else if(ext3.CompareNoCase(_T("bmp"))==0)
  return CXIMAGE_SUPPORT_BMP;
#endif
#if CXIMAGE_SUPPORT_JPG
 else if(ext3.CompareNoCase(_T("jpg"))==0)
  return CXIMAGE_SUPPORT_JPG;
#endif

 return CXIMAGE_FORMAT_UNKNOWN;
}

3. 이미지 읽어 오는 함수를 추가한다.

CxImage* CDlgProgrammingPage::GetImage(CString& strPath)
{
 int nImageType=GetTypeFromFileName(strPath);
 if(nImageType==CXIMAGE_FORMAT_UNKNOWN) {
  MessageBox("해당 파일을 읽을 수 없습니다.", "에러", MB_OK);
  return NULL;
 }

 CxImage* pImg = new CxImage(strPath, nImageType);

 if(pImg->IsValid() == false) {
  delete pImg;

  MessageBox("해당 파일을 읽을 수 없습니다.", "에러", MB_OK);
  return NULL;
 }

 return pImg;
}

관련 라이브러리 :

Posted by gsi
: