Share via


CImage 클래스

CImage 는 JPEG, GIF, BMP 및 PNG(이식 가능한 네트워크 그래픽) 형식으로 이미지를 로드하고 저장하는 기능을 포함하여 향상된 비트맵 지원을 제공합니다.

Important

이 클래스와 해당 멤버는 Windows 런타임에서 실행되는 애플리케이션에서 사용할 수 없습니다.

구문

class CImage

멤버

공용 생성자

속성 설명
CImage::CImage 생성자입니다.

공용 메서드

이름 설명
CImage::AlphaBlend 투명 또는 반투명 픽셀이 있는 비트맵을 표시합니다.
CImage::Attach 개체에 HBITMAPCImage 연결합니다. 비 DIB 섹션 비트맵 또는 DIB 섹션 비트맵과 함께 사용할 수 있습니다.
CImage::BitBlt 원본 디바이스 컨텍스트에서 이 현재 디바이스 컨텍스트로 비트맵을 복사합니다.
CImage::Create DIB 섹션 비트맵을 만들고 이전에 생성된 CImage 개체에 연결합니다.
CImage::CreateEx 추가 매개 변수를 사용하여 DIB 섹션 비트맵을 만들고 이전에 생성된 CImage 개체에 연결합니다.
CImage::Destroy 개체에서 비트맵을 CImage 분리하고 비트맵을 삭제합니다.
CImage::Detach 개체에서 비트맵을 CImage 분리합니다.
CImage::Draw 원본 사각형에서 대상 사각형으로 비트맵을 복사합니다. Draw 필요한 경우 대상 사각형의 크기에 맞게 비트맵을 늘이거나 압축하고 알파 혼합 및 투명한 색을 처리합니다.
CImage::GetBits 비트맵의 실제 픽셀 값에 대한 포인터를 검색합니다.
CImage::GetBPP 픽셀당 비트를 검색합니다.
CImage::GetColorTable 색 테이블의 항목 범위에서 빨강, 녹색, 파랑(RGB) 색 값을 검색합니다.
CImage::GetDC 현재 비트맵이 선택된 디바이스 컨텍스트를 검색합니다.
CImage::GetExporterFilterString 사용 가능한 이미지 형식 및 해당 설명을 찾습니다.
CImage::GetHeight 현재 이미지의 높이를 픽셀 단위로 검색합니다.
CImage::GetImporterFilterString 사용 가능한 이미지 형식 및 해당 설명을 찾습니다.
CImage::GetMaxColorTableEntries 색 테이블의 최대 항목 수를 검색합니다.
CImage::GetPitch 현재 이미지의 피치를 바이트 단위로 검색합니다.
CImage::GetPixel 에 지정된 x 픽셀의 색을 검색합니다 y.
CImage::GetPixelAddress 지정된 픽셀의 주소를 검색합니다.
CImage::GetTransparentColor 색 테이블에서 투명한 색의 위치를 검색합니다.
CImage::GetWidth 현재 이미지의 너비를 픽셀 단위로 검색합니다.
CImage::IsDIBSection 연결된 비트맵이 DIB 섹션인지 확인합니다.
CImage::IsIndexed 비트맵의 색이 인덱싱된 색상표에 매핑됨을 나타냅니다.
CImage::IsNull 원본 비트맵이 현재 로드되어 있는지를 나타냅니다.
CImage::IsTransparencySupported 애플리케이션에서 투명한 비트맵을 지원하는지 여부를 나타냅니다.
CImage::Load 지정된 파일에서 이미지를 로드합니다.
CImage::LoadFromResource 지정된 리소스에서 이미지를 로드합니다.
CImage::MaskBlt 지정된 마스크 및 래스터 작업을 사용하여 원본 및 대상 비트맵의 색 데이터를 결합합니다.
CImage::PlgBlt 원본 디바이스 컨텍스트의 사각형에서 대상 디바이스 컨텍스트의 병렬로 비트 블록 전송을 수행합니다.
CImage::ReleaseDC 로 검색된 디바이스 컨텍스트를 해제합니다 CImage::GetDC.
CImage::ReleaseGDIPlus GDI+에서 사용하는 리소스를 해제합니다. 전역 CImage 개체에서 만든 리소스를 해제하려면 호출해야 합니다.
CImage::Save 이미지를 지정된 형식으로 저장합니다. Save 에서는 이미지 옵션을 지정할 수 없습니다.
CImage::SetColorTable DIB 섹션의 색 표에 있는 항목 범위에서 빨강, 녹색, 파랑 RGB) 색 값을 설정합니다.
CImage::SetPixel 지정된 좌표의 픽셀을 지정된 색으로 설정합니다.
CImage::SetPixelIndexed 지정된 좌표의 픽셀을 색상표의 지정된 인덱스에 있는 색으로 설정합니다.
CImage::SetPixelRGB 지정된 좌표의 픽셀을 지정된 빨강, 녹색, 파랑(RGB) 값으로 설정합니다.
CImage::SetTransparentColor 투명으로 처리할 색의 인덱스입니다. 색상표에서 하나의 색만 투명할 수 있습니다.
CImage::StretchBlt 필요한 경우 원본 사각형의 비트맵을 대상 사각형으로 복사하여 비트맵을 확장하거나 압축하여 대상 사각형의 크기에 맞도록 합니다.
CImage::TransparentBlt 원본 디바이스 컨텍스트에서 현재 디바이스 컨텍스트로 투명한 색의 비트맵을 복사합니다.

Public 연산자

이름 설명
CImage::operator HBITMAP 개체에 연결된 Windows 핸들을 CImage 반환합니다.

설명

CImage 는 DIB(디바이스 독립적 비트맵) 섹션이거나 그렇지 않은 비트맵을 사용합니다. 그러나 DIB 섹션만 사용 Create 하거나 CImage::Load 사용할 수 있습니다. DIB가 아닌 섹션 비트맵을 사용하여 Attach개체에 연결할 수 있지만 DIB 섹션 비트맵 CImage 만 지원하는 다음 CImage 메서드는 사용할 수 없습니다.

연결된 비트맵이 DIB 섹션인지 확인하려면 .를 호출 IsDibSection합니다.

참고 항목

Visual Studio .NET 2003에서 이 클래스는 만든 개체 수의 CImage 수를 유지합니다. 개수가 0이 될 때마다 함수 GdiplusShutdown 는 GDI+에서 사용하는 리소스를 해제하기 위해 자동으로 호출됩니다. 이렇게 하면 DLL에서 직접 또는 간접적으로 만든 모든 CImage 개체가 항상 제대로 제거되고 GdiplusShutdown 호출 DllMain되지 않습니다.

참고 항목

DLL에서 전역 CImage 개체를 사용하지 않는 것이 좋습니다. DLL에서 전역 CImage 개체를 사용해야 하는 경우 GDI+에서 사용하는 리소스를 명시적으로 해제하도록 호출 CImage::ReleaseGDIPlus 합니다.

CImage 를 새 CDC로 선택할 수 없습니다. CImage 는 이미지에 대해 고유한 HDC 이미지를 만듭니다. 한 HBITMAP 번에 HBITMAP 하나씩 HDC 만 선택할 수 있으므로 연결된 CImage 항목을 다른 HDC항목으로 선택할 수 없습니다. 필요한 CDC경우 해당 위치에서 CImage 검색하여 HDC .에 제공합니다CDC::FromHandle.

예제

// Get a CDC for the image
CDC* pDC = CDC::FromHandle(m_myImage.GetDC());

// Use pDC here
pDC->Rectangle(0, 40, 100, 50);
m_myImage.ReleaseDC();

MFC 프로젝트에서 사용하는 CImage 경우 프로젝트에서 개체에 대한 포인터가 예상되는 멤버 함수를 CBitmap 확인합니다. 와 같은 CMenu::AppendMenu함수와 함께 사용 CImage 하려면 다음을 사용하고CBitmap::FromHandle, 전달CImageHBITMAP하고, 반환CBitmap*된 함수를 사용합니다.

void CMyDlg::OnRButtonDown(UINT nFlags, CPoint point)
{
    UNREFERENCED_PARAMETER(nFlags);

    CBitmap* pBitmap = CBitmap::FromHandle(m_myImage);
    m_pmenuPop->AppendMenu(0, ID_BMPCOMMAND, pBitmap);
    ClientToScreen(&point);
    m_pmenuPop->TrackPopupMenu(TPM_RIGHTBUTTON | TPM_LEFTALIGN, point.x,
    point.y, this);
}

이를 통해 CImageDIB 섹션의 실제 비트에 액세스할 수 있습니다. 이전에 Win32 HBITMAP 또는 DIB 섹션을 사용한 모든 위치에서 개체를 사용할 CImage 수 있습니다.

MFC 또는 ATL에서 사용할 CImage 수 있습니다.

참고 항목

를 사용하여 CImage프로젝트를 만들 때 포함atlimage.h하기 전에 정의 CString 해야 합니다. 프로젝트에서 MFC 없이 ATL을 사용하는 경우 포함atlimage.h하기 전에 포함합니다atlstr.h. 프로젝트에서 MFC를 사용하는 경우(또는 MFC가 지원되는 ATL 프로젝트인 경우) 포함하기 전에 포함합니다 afxstr.hatlimage.h.

마찬가지로 포함하기 전에 atlimpl.cpp포함 atlimage.h 해야 합니다. 이 작업을 쉽게 수행하려면 (stdafx.hVisual Studio 2017 및 이전 버전)에 포함 atlimage.h 하세요 pch.h .

요구 사항

헤더atlimage.h:

CImage::AlphaBlend

투명 또는 반투명 픽셀이 있는 비트맵을 표시합니다.

BOOL AlphaBlend(
    HDC hDestDC,
    int xDest,
    int yDest,
    BYTE bSrcAlpha = 0xff,
    BYTE bBlendOp = AC_SRC_OVER) const throw();

BOOL AlphaBlend(
    HDC hDestDC,
    const POINT& pointDest,
    BYTE bSrcAlpha = 0xff,
    BYTE bBlendOp = AC_SRC_OVER) const throw();

BOOL AlphaBlend(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight,
    BYTE bSrcAlpha = 0xff,
    BYTE bBlendOp = AC_SRC_OVER);

BOOL AlphaBlend(
    HDC hDestDC,
    const RECT& rectDest,
    const RECT& rectSrc,
    BYTE bSrcAlpha = 0xff,
    BYTE bBlendOp = AC_SRC_OVER);

매개 변수

hDestDC
대상 디바이스 컨텍스트에 대한 핸들입니다.

xDest
대상 사각형의 왼쪽 위 모서리에 있는 x 좌표(논리 단위)입니다.

yDest
대상 사각형의 왼쪽 위 모서리에 있는 논리 단위의 y 좌표입니다.

bSrcAlpha
전체 소스 비트맵에 사용할 알파 투명도 값입니다. 기본 0xff(255)는 이미지가 불투명하고 픽셀당 알파 값만 사용하려고 하는 것으로 가정합니다.

bBlendOp
원본 및 대상 비트맵에 대한 알파 혼합 함수, 전체 원본 비트맵에 적용할 전역 알파 값 및 원본 비트맵에 대한 형식 정보입니다. 원본 및 대상 혼합 함수는 현재 .로 AC_SRC_OVER제한됩니다.

pointDest
대상 사각형의 왼쪽 위 모서리를 논리적 단위로 식별하는 구조체에 대한 참조 POINT 입니다.

nDestWidth
대상 사각형의 너비(논리 단위)입니다.

nDestHeight
대상 사각형의 높이(논리 단위)입니다.

xSrc
원본 사각형의 왼쪽 위 모퉁이에 대한 논리 x 좌표입니다.

ySrc
원본 사각형의 왼쪽 위 모퉁이에 대한 논리적 y 좌표입니다.

nSrcWidth
원본 사각형의 너비(논리 단위)입니다.

nSrcHeight
원본 사각형의 높이(논리 단위)입니다.

rectDest
대상을 RECT 식별하는 구조체에 대한 참조입니다.

rectSrc
원본을 RECT 식별하는 구조체에 대한 참조입니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

알파 혼합 비트맵은 픽셀 단위로 색 혼합을 지원합니다.

기본값AC_SRC_OVER으로 설정하면 bBlendOp 원본 비트맵이 원본 픽셀의 알파 값을 기반으로 대상 비트맵 위에 배치됩니다.

CImage::Attach

개체에 CImage 연결합니다hBitmap.

void Attach(HBITMAP hBitmap, DIBOrientation eOrientation = DIBOR_DEFAULT) throw();

매개 변수

hBitmap
에 대한 핸들입니다 HBITMAP.

eOrientation
비트맵의 방향을 지정합니다. 다음 중 하나일 수 있습니다.

  • DIBOR_DEFAULT 비트맵의 방향은 운영 체제에 의해 결정됩니다.

  • DIBOR_BOTTOMUP 비트맵의 선은 역순입니다. 이렇게 하면 CImage::GetBits 비트맵 버퍼의 끝 부근에 포인터를 반환하고 CImage::GetPitch 음수를 반환합니다.

  • DIBOR_TOPDOWN 비트맵의 선은 위쪽에서 아래쪽 순서로 표시됩니다. 이렇게 하면 CImage::GetBits 비트맵 버퍼의 첫 번째 바이트에 대한 포인터를 반환하고 CImage::GetPitch 양수를 반환합니다.

설명

비트맵은 비 DIB 섹션 비트맵 또는 DIB 섹션 비트맵일 수 있습니다. DIB 섹션 비트맵에서만 사용할 수 있는 메서드 목록을 참조 IsDIBSection 하세요.

CImage::BitBlt

원본 디바이스 컨텍스트에서 이 현재 디바이스 컨텍스트로 비트맵을 복사합니다.

BOOL BitBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    DWORD dwROP = SRCCOPY) const throw();

BOOL BitBlt(
    HDC hDestDC,
    const POINT& pointDest,
    DWORD dwROP = SRCCOPY) const throw();

BOOL BitBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    DWORD dwROP = SRCCOPY) const throw();

BOOL BitBlt(
    HDC hDestDC,
    const RECT& rectDest,
    const POINT& pointSrc,
    DWORD dwROP = SRCCOPY) const throw();

매개 변수

hDestDC
대상 HDC입니다.

xDest
대상 사각형의 왼쪽 위 모퉁이에 대한 논리적 x 좌표입니다.

yDest
대상 사각형의 왼쪽 위 모퉁이에 대한 논리적 y 좌표입니다.

dwROP
수행할 래스터 작업입니다. 래스터 작업 코드는 원본, 대상 및 패턴의 비트(현재 선택한 브러시에 정의된 대로)를 결합하여 대상을 구성하는 방법을 정확하게 정의합니다. 다른 래스터 작업 코드 목록 및 해당 설명은 Windows SDK를 참조 BitBlt 하세요.

pointDest
POINT 대상 사각형의 왼쪽 위 모서리를 나타내는 구조체입니다.

nDestWidth
대상 사각형의 너비(논리 단위)입니다.

nDestHeight
대상 사각형의 높이(논리 단위)입니다.

xSrc
원본 사각형의 왼쪽 위 모퉁이에 대한 논리 x 좌표입니다.

ySrc
원본 사각형의 왼쪽 위 모퉁이에 대한 논리적 y 좌표입니다.

rectDest
RECT 대상 사각형을 나타내는 구조체입니다.

pointSrc
POINT 원본 사각형의 왼쪽 위 모서리를 나타내는 구조체입니다.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

설명

자세한 내용은 Windows SDK를 참조 BitBlt 하세요.

CImage::CImage

CImage 개체를 생성합니다.

CImage() throw();

설명

개체를 생성한 후에는 개체를 LoadLoadFromResource호출Create하거나 Attach 개체에 비트맵을 연결합니다.

참고 Visual Studio에서 이 클래스는 만든 개체 수의 CImage 수를 유지합니다. 개수가 0이 될 때마다 함수 GdiplusShutdown 는 GDI+에서 사용하는 리소스를 해제하기 위해 자동으로 호출됩니다. 이렇게 하면 DLL에서 직접 또는 간접적으로 만든 모든 CImage 개체가 항상 제대로 제거되고 GdiplusShutdown DllMain에서 호출되지 않습니다.

DLL에서 전역 CImage 개체를 사용하지 않는 것이 좋습니다. DLL에서 전역 CImage 개체를 사용해야 하는 경우 GDI+에서 사용하는 리소스를 명시적으로 해제하도록 호출 CImage::ReleaseGDIPlus 합니다.

CImage::Create

비트맵을 CImage 만들어 이전에 생성된 CImage 개체에 연결합니다.

BOOL Create(
    int nWidth,
    int nHeight,
    int nBPP,
    DWORD dwFlags = 0) throw();

매개 변수

nWidth
비트맵의 CImage 너비(픽셀)입니다.

nHeight
비트맵의 CImage 높이(픽셀)입니다. 양수이면 nHeight 비트맵은 상향식 DIB이고 원점은 왼쪽 아래 모서리입니다. 음수이면 nHeight 비트맵은 하향식 DIB이고 원점은 왼쪽 위 모서리입니다.

nBPP
비트맵의 픽셀당 비트 수입니다. 일반적으로 4, 8, 16, 24 또는 32입니다. 단색 비트맵 또는 마스크의 경우 1일 수 있습니다.

dwFlags
비트맵 개체에 알파 채널이 있는지를 지정합니다. 다음 값 중 0개 이상의 조합일 수 있습니다.

  • createAlphaChannel32인 경우에만 nBPP 사용할 수 있습니다.eCompressionBI_RGB 지정된 경우 생성된 이미지에는 각 픽셀의 4번째 바이트에 저장된 각 픽셀에 대한 알파(투명도) 값이 있습니다(알파가 아닌 32비트 이미지에서 사용되지 않음). 이 알파 채널은 호출 CImage::AlphaBlend할 때 자동으로 사용됩니다.

참고 항목

호출 CImage::Draw에서 알파 채널이 있는 이미지는 대상에 자동으로 알파 혼합됩니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

CImage::CreateEx

비트맵을 CImage 만들어 이전에 생성된 CImage 개체에 연결합니다.

BOOL CreateEx(
    int nWidth,
    int nHeight,
    int nBPP,
    DWORD eCompression,
    const DWORD* pdwBitmasks = NULL,
    DWORD dwFlags = 0) throw();

매개 변수

nWidth
비트맵의 CImage 너비(픽셀)입니다.

nHeight
비트맵의 CImage 높이(픽셀)입니다. 양수이면 nHeight 비트맵은 상향식 DIB이고 원점은 왼쪽 아래 모서리입니다. 음수이면 nHeight 비트맵은 하향식 DIB이고 원점은 왼쪽 위 모서리입니다.

nBPP
비트맵의 픽셀당 비트 수입니다. 일반적으로 4, 8, 16, 24 또는 32입니다. 단색 비트맵 또는 마스크의 경우 1일 수 있습니다.

eCompression
압축된 상향식 비트맵에 대한 압축 유형을 지정합니다(하향식 DIB는 압축할 수 없음). 다음 값 중 하나일 수 있습니다.

  • BI_RGB 형식이 압축되지 않습니다. 호출할 때 이 값을 지정하는 것은 호출 CImage::CreateExCImage::Create과 동일합니다.

  • BI_BITFIELDS 형식은 압축되지 않으며 색 테이블은 각 픽셀의 빨간색, 녹색 및 파란색 구성 요소를 각각 지정하는 세 DWORD 가지 색 마스크로 구성됩니다. 이는 16-bpp 및 32 bpp 비트맵과 함께 사용할 때 유효합니다.

pdwBitfields
로 설정된 BI_BITFIELDS경우에만 eCompression 사용되며, 그렇지 않으면 .이어야 NULL합니다. 각각 색의 빨간색, 녹색 및 파란색 구성 요소에 사용되는 각 픽셀의 비트를 지정하는 세 DWORD 비트 마스크의 배열에 대한 포인터입니다. 비트 필드의 제한 사항에 대한 자세한 내용은 Windows SDK를 참조 BITMAPINFOHEADER 하세요.

dwFlags
비트맵 개체에 알파 채널이 있는지를 지정합니다. 다음 값 중 0개 이상의 조합일 수 있습니다.

  • createAlphaChannel32인 경우에만 nBPP 사용할 수 있습니다.eCompressionBI_RGB 지정된 경우 생성된 이미지에는 각 픽셀의 4번째 바이트에 저장된 각 픽셀에 대한 알파(투명도) 값이 있습니다(알파가 아닌 32비트 이미지에서 사용되지 않음). 이 알파 채널은 호출 CImage::AlphaBlend할 때 자동으로 사용됩니다.

    참고 항목

    호출 CImage::Draw에서 알파 채널이 있는 이미지는 대상에 자동으로 알파 혼합됩니다.

Return Value

성공하는 경우 TRUE입니다. 그렇지 않으면 FALSE.

예시

다음 예제에서는 16비트를 사용하여 각 픽셀을 인코딩하는 100x100 픽셀 비트맵을 만듭니다. 지정된 16비트 픽셀에서 비트 0-3은 빨간색 구성 요소를 인코딩하고, 4-7은 녹색으로 인코딩하고, 비트는 8-11로 인코딩합니다. 다시 기본 4비트가 사용되지 않습니다.

DWORD adwBitmasks[3] = { 0x0000000f, 0x000000f0, 0x00000f00 };
m_myImage.CreateEx(100, 100, 16, BI_BITFIELDS, adwBitmasks, 0);

CImage::Destroy

개체에서 비트맵을 CImage 분리하고 비트맵을 삭제합니다.

void Destroy() throw();

CImage::Detach

개체에서 비트맵을 CImage 분리합니다.

HBITMAP Detach() throw();

Return Value

분리된 비트맵에 대한 핸들이거나 NULL 비트맵이 연결되지 않은 경우

CImage::Draw

원본 디바이스 컨텍스트에서 현재 디바이스 컨텍스트로 비트맵을 복사합니다.

BOOL Draw(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight) const throw();

BOOL Draw(
    HDC hDestDC,
    const RECT& rectDest,
    const RECT& rectSrc) const throw();

BOOL Draw(
    HDC hDestDC,
    int xDest,
    int yDest) const throw();

BOOL Draw(
    HDC hDestDC,
    const POINT& pointDest) const throw();

BOOL Draw(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight) const throw();

BOOL Draw(
    HDC hDestDC,
    const RECT& rectDest) const throw();

매개 변수

hDestDC
대상 디바이스 컨텍스트에 대한 핸들입니다.

xDest
대상 사각형의 왼쪽 위 모서리에 있는 x 좌표(논리 단위)입니다.

yDest
대상 사각형의 왼쪽 위 모서리에 있는 논리 단위의 y 좌표입니다.

nDestWidth
대상 사각형의 너비(논리 단위)입니다.

nDestHeight
대상 사각형의 높이(논리 단위)입니다.

xSrc
원본 사각형의 왼쪽 위 모서리에 있는 x 좌표(논리 단위)입니다.

ySrc
원본 사각형의 왼쪽 위 모서리에 있는 논리 단위의 y 좌표입니다.

nSrcWidth
원본 사각형의 너비(논리 단위)입니다.

nSrcHeight
원본 사각형의 높이(논리 단위)입니다.

rectDest
대상을 RECT 식별하는 구조체에 대한 참조입니다.

rectSrc
원본을 RECT 식별하는 구조체에 대한 참조입니다.

pointDest
대상 사각형의 왼쪽 위 모서리를 논리적 단위로 식별하는 구조체에 대한 참조 POINT 입니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

Draw 는 이미지에 투명한 색 또는 알파 채널이 포함되지 않는 한 동일한 작업을 StretchBlt수행합니다. 이 경우 Draw 필요에 따라 동일한 작업을 TransparentBlt 수행합니다 AlphaBlend .

원본 사각형을 지정하지 않는 버전의 Draw 경우 전체 원본 이미지가 기본값입니다. 대상 사각형의 Draw 크기를 지정하지 않는 버전의 경우 원본 이미지의 크기가 기본값이며 늘어나거나 축소되지 않습니다.

CImage::GetBits

비트맵에서 지정된 픽셀의 실제 비트 값에 대한 포인터를 검색합니다.

void* GetBits() throw();

Return Value

비트맵 버퍼에 대한 포인터입니다. 비트맵이 상향식 DIB인 경우 포인터는 버퍼의 끝 부근을 가리킵니다. 비트맵이 하향식 DIB인 경우 포인터는 버퍼의 첫 번째 바이트를 가리킵니다.

설명

이 포인터를 사용하여 반환된 GetPitch값과 함께 이미지에서 개별 픽셀을 찾아 변경할 수 있습니다.

참고 항목

이 메서드는 DIB 섹션 비트맵만 지원합니다. 따라서 DIB 섹션의 CImage 픽셀과 동일한 방식으로 개체의 픽셀에 액세스합니다. 반환된 포인터는 위치(0, 0)의 픽셀을 가리킵니다.

CImage::GetBPP

픽셀당 비트 값을 검색합니다.

int GetBPP() const throw();

Return Value

픽셀당 비트 수입니다.

설명

이 값은 각 픽셀을 정의하는 비트 수와 비트맵의 최대 색 수를 결정합니다.

픽셀당 비트는 일반적으로 1, 4, 8, 16, 24 또는 32입니다. 이 값에 biBitCount 대한 자세한 내용은 Windows SDK의 BITMAPINFOHEADER 구성원을 참조하세요.

CImage::GetColorTable

DIB 섹션의 색상표에 있는 항목 범위에서 빨강, 녹색, 파랑(RGB) 색 값을 검색합니다.

void GetColorTable(
    UINT iFirstColor,
    UINT nColors,
    RGBQUAD* prgbColors) const throw();

매개 변수

iFirstColor
검색할 첫 번째 항목의 색 테이블 인덱스입니다.

nColors
검색할 색 테이블 항목의 수입니다.

prgbColors
색 테이블 항목을 검색할 구조체 배열 RGBQUAD 에 대한 포인터입니다.

CImage::GetDC

현재 선택한 이미지가 있는 디바이스 컨텍스트를 검색합니다.

HDC GetDC() const throw();

Return Value

디바이스 컨텍스트에 대한 핸들입니다.

설명

각 호출에 대해 GetDC후속 호출 ReleaseDC이 있어야 합니다.

CImage::GetExporterFilterString

이미지를 저장하는 데 사용할 수 있는 이미지 형식을 찾습니다.

static HRESULT GetExporterFilterString(
    CSimpleString& strExporters,
    CSimpleArray<GUID>& aguidFileTypes,
    LPCTSTR pszAllFilesDescription = NULL,
    DWORD dwExclude = excludeDefaultSave,
    TCHAR chSeparator = _T('|'));

매개 변수

strExporters
CSimpleString 개체에 대한 참조입니다. 자세한 내용은 설명을 참조하세요.

aguidFileTypes
문자열의 파일 형식 중 하나에 해당하는 각 요소가 있는 GUID 배열입니다. 아래 aguidFileTypes[0]GUID_NULL 예제에서는 pszAllFilesDescription 배열 값을 다시 기본 현재 운영 체제에서 지원하는 이미지 파일 형식입니다.

참고 항목

상수의 전체 목록은 Windows SDK의 이미지 파일 형식 상수를 참조하세요.

pszAllFilesDescription
이 매개 변수가 아닌 NULL경우 필터 문자열은 목록의 시작 부분에 하나의 추가 필터를 갖습니다. 이 필터는 해당 설명에 pszAllFilesDescription 대한 현재 값을 가지며 목록의 다른 내보내기에서 지원하는 확장의 파일을 허용합니다.

예시:

//First filter in the list will be titled "All Image Files", and
//will accept files with any extension supported by any exporter.
CImage::GetExporterFilterString(
    strExporters, aguidFileTypes,
_T("All Image Files"));

dwExclude
목록에서 제외할 파일 형식을 지정하는 비트 플래그 집합입니다. 허용되는 플래그는 다음과 같습니다.

  • excludeGIF = 0x01 GIF 파일을 제외합니다.

  • excludeBMP = 0x02 BMP(Windows 비트맵) 파일을 제외합니다.

  • excludeEMF = 0x04 EMF(고급 메타파일) 파일을 제외합니다.

  • excludeWMF = 0x08 WMF(Windows 메타파일) 파일을 제외합니다.

  • excludeJPEG = 0x10 JPEG 파일을 제외합니다.

  • excludePNG = 0x20 PNG 파일을 제외합니다.

  • excludeTIFF = 0x40 TIFF 파일을 제외합니다.

  • excludeIcon = 0x80 ICO(Windows 아이콘) 파일을 제외합니다.

  • excludeOther = 0x80000000 위에 나열되지 않은 다른 파일 형식을 제외합니다.

  • excludeDefaultLoad = 0 로드의 경우 모든 파일 형식이 기본적으로 포함됩니다.

  • excludeDefaultSave = excludeIcon | excludeEMF | excludeWMF 저장을 위해 이러한 파일은 일반적으로 특별한 요구 사항이 있기 때문에 기본적으로 제외됩니다.

chSeparator
이미지 형식 간에 사용되는 구분 기호입니다. 자세한 내용은 설명을 참조하세요.

Return Value

표준 HRESULT.

설명

결과 형식 문자열을 MFC CFileDialog 개체에 전달하여 파일 다른 이름으로 저장 대화 상자에서 사용 가능한 이미지 형식의 파일 확장자를 노출할 수 있습니다.

매개 변수 strExporter 의 형식은 다음과 같습니다.

file description 0|*.ext0|file description 1|*.ext1|...file description N|*.extN||

여기서 | 는 .로 지정된 구분 기호 문자입니다 chSeparator. 예시:

"Bitmap format|*.bmp|JPEG format|*.jpg|GIF format|*.gif|PNG format|*.png||"

이 문자열을 MFC CFileDialog 개체에 전달하는 경우 기본 구분 기호 | 를 사용합니다. 이 문자열을 일반적인 파일 저장 대화 상자에 전달하는 경우 null 구분 기호 '\0' 를 사용합니다.

CImage::GetHeight

이미지의 높이를 픽셀 단위로 검색합니다.

int GetHeight() const throw();

Return Value

이미지의 높이(픽셀)입니다.

CImage::GetImporterFilterString

이미지를 로드하는 데 사용할 수 있는 이미지 형식을 찾습니다.

static HRESULT GetImporterFilterString(
    CSimpleString& strImporters,
    CSimpleArray<GUID>& aguidFileTypes,
    LPCTSTR pszAllFilesDescription = NULL,
    DWORD dwExclude = excludeDefaultLoad,
    TCHAR chSeparator = _T('|'));

매개 변수

strImporters
CSimpleString 개체에 대한 참조입니다. 자세한 내용은 설명을 참조하세요.

aguidFileTypes
문자열의 파일 형식 중 하나에 해당하는 각 요소가 있는 GUID 배열입니다. 아래 예제에서 *aguidFileTypes[0]* 에는 GUID_NULL 현재 운영 체제에서 pszAllFilesDescription 지원하는 이미지 파일 형식이 다시 기본 배열 값이 있습니다.

참고 항목

상수의 전체 목록은 Windows SDK의 이미지 파일 형식 상수를 참조하세요.

pszAllFilesDescription
이 매개 변수가 아닌 NULL경우 필터 문자열은 목록의 시작 부분에 하나의 추가 필터를 갖습니다. 이 필터는 해당 설명에 pszAllFilesDescription 대한 현재 값을 가지며 목록의 다른 내보내기에서 지원하는 확장의 파일을 허용합니다.

예시:

//First filter in the list will be titled "All Image Files", and
//will accept files with any extension supported by any importer.
CImage::GetImporterFilterString(
    strImporters, aguidFileTypes,
_T("All Image Files"));

dwExclude
목록에서 제외할 파일 형식을 지정하는 비트 플래그 집합입니다. 허용되는 플래그는 다음과 같습니다.

  • excludeGIF = 0x01 GIF 파일을 제외합니다.

  • excludeBMP = 0x02 BMP(Windows 비트맵) 파일을 제외합니다.

  • excludeEMF = 0x04 EMF(고급 메타파일) 파일을 제외합니다.

  • excludeWMF = 0x08 WMF(Windows 메타파일) 파일을 제외합니다.

  • excludeJPEG = 0x10 JPEG 파일을 제외합니다.

  • excludePNG = 0x20 PNG 파일을 제외합니다.

  • excludeTIFF = 0x40 TIFF 파일을 제외합니다.

  • excludeIcon = 0x80 ICO(Windows 아이콘) 파일을 제외합니다.

  • excludeOther = 0x80000000 위에 나열되지 않은 다른 파일 형식을 제외합니다.

  • excludeDefaultLoad = 0 로드의 경우 모든 파일 형식이 기본적으로 포함됩니다.

  • excludeDefaultSave = excludeIcon | excludeEMF | excludeWMF 저장을 위해 이러한 파일은 일반적으로 특별한 요구 사항이 있기 때문에 기본적으로 제외됩니다.

chSeparator
이미지 형식 간에 사용되는 구분 기호입니다. 자세한 내용은 설명을 참조하세요.

설명

결과 형식 문자열을 MFC CFileDialog 개체에 전달하여 파일 열기 대화 상자에서 사용 가능한 이미지 형식의 파일 확장자를 노출할 수 있습니다.

매개 변수 strImporter 의 형식은 다음과 같습니다.

'file description 0|. ext0|file description 1|. ext1|... 파일 설명 N|*.extN||

여기서 | 는 .로 지정된 구분 기호 문자입니다 chSeparator. 예시:

"Bitmap format|*.bmp|JPEG format|*.jpg|GIF format|*.gif|PNG format|*.png||"

이 문자열을 MFC CFileDialog 개체에 전달하는 경우 기본 구분 기호 | 를 사용합니다. 이 문자열을 일반 파일 열기 대화 상자에 전달하는 경우 null 구분 기호 '\0' 를 사용합니다.

CImage::GetMaxColorTableEntries

색 테이블의 최대 항목 수를 검색합니다.

int GetMaxColorTableEntries() const throw();

Return Value

색 테이블의 항목 수입니다.

설명

이 메서드는 DIB 섹션 비트맵만 지원합니다.

CImage::GetPitch

이미지의 피치를 검색합니다.

int GetPitch() const throw();

Return Value

이미지의 피치입니다. 반환 값이 음수이면 비트맵은 상향식 DIB이고 원점은 왼쪽 아래 모서리입니다. 반환 값이 양수이면 비트맵은 하향식 DIB이고 원점은 왼쪽 위 모서리입니다.

설명

피치는 한 비트맵 선의 시작과 다음 비트맵 선의 시작을 나타내는 두 메모리 주소 사이의 거리(바이트)입니다. 피치는 바이트 단위로 측정되므로 이미지의 피치는 픽셀 형식을 결정하는 데 도움이 됩니다. 피치에는 비트맵용으로 예약된 추가 메모리도 포함될 수 있습니다.

함께 GetBits 사용하여 GetPitch 이미지의 개별 픽셀을 찾습니다.

참고 항목

이 메서드는 DIB 섹션 비트맵만 지원합니다.

CImage::GetPixel

x 및 y로 지정된 위치에서 픽셀의 색을 검색합니다.

COLORREF GetPixel(int x, int y) const throw();

매개 변수

x
픽셀의 x 좌표입니다.

y
픽셀의 y 좌표입니다.

Return Value

픽셀의 빨강, 녹색, 파랑(RGB) 값입니다. 픽셀이 현재 클리핑 영역 외부에 있으면 반환 값은 .입니다 CLR_INVALID.

CImage::GetPixelAddress

픽셀의 정확한 주소를 검색합니다.

void* GetPixelAddress(int x, int y) throw();

매개 변수

x
픽셀의 x 좌표입니다.

y
픽셀의 y 좌표입니다.

설명

주소는 픽셀의 좌표, 비트맵의 피치 및 픽셀당 비트에 따라 결정됩니다.

픽셀당 8비트 미만인 형식의 경우 이 메서드는 픽셀을 포함하는 바이트의 주소를 반환합니다. 예를 들어 이미지 형식에 픽셀 GetPixelAddress 당 4비트가 있는 경우 바이트에서 첫 번째 픽셀의 주소를 반환하고 바이트당 2픽셀을 계산해야 합니다.

참고 항목

이 메서드는 DIB 섹션 비트맵만 지원합니다.

CImage::GetTransparentColor

색상표에서 투명한 색의 인덱싱된 위치를 검색합니다.

LONG GetTransparentColor() const throw();

Return Value

투명한 색의 인덱스입니다.

CImage::GetWidth

이미지의 너비(픽셀)를 검색합니다.

int GetWidth() const throw();

Return Value

비트맵의 너비(픽셀)입니다.

CImage::IsDIBSection

연결된 비트맵이 DIB 섹션인지 확인합니다.

bool IsDIBSection() const throw();

Return Value

TRUE 연결된 비트맵이 DIB 섹션이면 입니다. 그렇지 않으면 FALSE.

설명

비트맵이 DIB 섹션이 아닌 경우 DIB 섹션 비트맵만 지원하는 다음 CImage 메서드를 사용할 수 없습니다.

CImage::IsIndexed

비트맵의 픽셀이 색상표에 매핑되는지 여부를 결정합니다.

bool IsIndexed() const throw();

Return Value

TRUE 인덱싱된 경우 그렇지 않으면 FALSE.

설명

이 메서드는 비트맵이 8비트(256색) 이하인 경우에만 반환 TRUE 됩니다.

참고 항목

이 메서드는 DIB 섹션 비트맵만 지원합니다.

CImage::IsNull

비트맵이 현재 로드되었는지 여부를 확인합니다.

bool IsNull() const throw();

설명

비트맵이 현재 로드되지 않은 경우 이 메서드가 반환되고, 그렇지 않으면 FALSE반환 TRUE 됩니다.

CImage::IsTransparencySupported

애플리케이션에서 투명한 비트맵을 지원하는지 여부를 나타냅니다.

static BOOL IsTransparencySupported() throw();

Return Value

현재 플랫폼이 투명성을 지원하는 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

반환 값이 0이 아니고 투명도가 지원되는 경우 호출TransparentBlt을 수행하거나 Draw 투명한 색을 AlphaBlend처리합니다.

CImage::Load

이미지를 로드합니다.

HRESULT Load(LPCTSTR pszFileName) throw();
HRESULT Load(IStream* pStream) throw();

매개 변수

pszFileName
로드할 이미지 파일의 이름을 포함하는 문자열에 대한 포인터입니다.

pStream
로드할 이미지 파일의 이름을 포함하는 스트림에 대한 포인터입니다.

Return Value

표준 HRESULT.

설명

또는 pStream에 지정된 pszFileName 이미지를 로드합니다.

유효한 이미지 유형은 BMP, GIF, JPEG, PNG 및 TIFF입니다.

CImage::LoadFromResource

리소스에서 BITMAP 이미지를 로드합니다.

void LoadFromResource(
    HINSTANCE hInstance,
    LPCTSTR pszResourceName) throw();

void LoadFromResource(
    HINSTANCE hInstance,
    UINT nIDResource) throw();

매개 변수

hInstance
로드할 이미지를 포함하는 모듈의 인스턴스에 대한 핸들입니다.

pszResourceName
로드할 이미지를 포함하는 리소스의 이름을 포함하는 문자열에 대한 포인터입니다.

nIDResource
로드할 리소스의 ID입니다.

설명

리소스는 형식 BITMAP이어야 합니다.

CImage::MaskBlt

지정된 마스크 및 래스터 작업을 사용하여 원본 및 대상 비트맵의 색 데이터를 결합합니다.

BOOL MaskBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    HBITMAP hbmMask,
    int xMask,
    int yMask,
    DWORD dwROP = SRCCOPY) const throw();

BOOL MaskBlt(
    HDC hDestDC,
    const RECT& rectDest,
    const POINT& pointSrc,
    HBITMAP hbmMask,
    const POINT& pointMask,
    DWORD dwROP = SRCCOPY) const throw();

BOOL MaskBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    HBITMAP hbmMask,
    DWORD dwROP = SRCCOPY) const throw();

BOOL MaskBlt(
    HDC hDestDC,
    const POINT& pointDest,
    HBITMAP hbmMask,
    DWORD dwROP = SRCCOPY) const throw();

매개 변수

hDestDC
실행 파일에 리소스가 포함된 모듈에 대한 핸들입니다.

xDest
대상 사각형의 왼쪽 위 모서리에 있는 x 좌표(논리 단위)입니다.

yDest
대상 사각형의 왼쪽 위 모서리에 있는 논리 단위의 y 좌표입니다.

nDestWidth
대상 사각형 및 원본 비트맵의 너비(논리 단위)입니다.

nDestHeight
대상 사각형 및 원본 비트맵의 높이(논리 단위)입니다.

xSrc
원본 비트맵의 왼쪽 위 모퉁이에 대한 논리 x 좌표입니다.

ySrc
소스 비트맵의 왼쪽 위 모퉁이에 대한 논리적 y 좌표입니다.

hbmMask
원본 디바이스 컨텍스트의 색 비트맵과 결합된 단색 마스크 비트맵에 대한 핸들입니다.

xMask
매개 변수로 지정된 hbmMask 마스크 비트맵의 가로 픽셀 오프셋입니다.

yMask
매개 변수로 지정된 마스크 비트맵의 세로 픽셀 오프셋입니다 hbmMask .

dwROP
메서드가 원본 데이터와 대상 데이터의 조합을 제어하는 데 사용하는 포그라운드 및 백그라운드 삼항 래스터 작업 코드를 모두 지정합니다. 백그라운드 래스터 작업 코드는 이 값의 상위 단어의 상위 바이트에 저장됩니다. 포그라운드 래스터 작업 코드는 이 값의 상위 단어의 낮은 순서 바이트에 저장됩니다. 이 값의 하위 단어는 무시되며 0이어야 합니다. 이 메서드의 컨텍스트에서 포그라운드 및 배경에 대한 자세한 내용은 Windows SDK를 참조 MaskBlt 하세요. 일반적인 래스터 작업 코드 목록은 Windows SDK를 참조 BitBlt 하세요.

rectDest
대상을 RECT 식별하는 구조체에 대한 참조입니다.

pointSrc
POINT 원본 사각형의 왼쪽 위 모서리를 나타내는 구조체입니다.

pointMask
POINT 마스크 비트맵의 왼쪽 위 모서리를 나타내는 구조체입니다.

pointDest
대상 사각형의 왼쪽 위 모서리를 논리적 단위로 식별하는 구조체에 대한 참조 POINT 입니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

이 메서드는 Windows NT 버전 4.0 이상에만 적용됩니다.

CImage::operator HBITMAP

이 연산자를 사용하여 개체의 연결된 Windows GDI 핸들을 가져옵니다 CImage . 이 연산자는 개체의 직접 사용을 지원하는 캐스팅 연산자입니다 HBITMAP .

CImage::PlgBlt

원본 디바이스 컨텍스트의 사각형에서 대상 디바이스 컨텍스트의 병렬로 비트 블록 전송을 수행합니다.

BOOL PlgBlt(
    HDC hDestDC,
    const POINT* pPoints,
    HBITMAP hbmMask = NULL) const throw();

BOOL PlgBlt(
    HDC hDestDC,
    const POINT* pPoints,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight,
    HBITMAP hbmMask = NULL,
    int xMask = 0,
    int yMask = 0) const throw();

BOOL PlgBlt(
    HDC hDestDC,
    const POINT* pPoints,
    const RECT& rectSrc,
    HBITMAP hbmMask = NULL,
    const POINT& pointMask = CPoint(0, 0)) const throw();

매개 변수

hDestDC
대상 디바이스 컨텍스트에 대한 핸들입니다.

pPoints
대상 병렬 프로그래밍의 세 모서리를 식별하는 논리 공간의 3개 점 배열에 대한 포인터입니다. 원본 사각형의 왼쪽 위 모서리는 이 배열의 첫 번째 점, 오른쪽 위 모서리에서 이 배열의 두 번째 지점까지, 왼쪽 아래 모서리는 세 번째 지점에 매핑됩니다. 원본 사각형의 오른쪽 아래 모서리는 병렬 프로그래밍의 암시적 네 번째 지점에 매핑됩니다.

hbmMask
원본 사각형의 색을 마스킹하는 데 사용되는 선택적 단색 비트맵에 대한 핸들입니다.

xSrc
원본 사각형의 왼쪽 위 모서리에 있는 x 좌표(논리 단위)입니다.

ySrc
원본 사각형의 왼쪽 위 모서리에 있는 논리 단위의 y 좌표입니다.

nSrcWidth
원본 사각형의 너비(논리 단위)입니다.

nSrcHeight
원본 사각형의 높이(논리 단위)입니다.

xMask
단색 비트맵의 왼쪽 위 모퉁이에 대한 x 좌표입니다.

yMask
단색 비트맵의 왼쪽 위 모퉁이에 대한 y 좌표입니다.

rectSrc
원본 사각형의 좌표를 지정하는 구조체에 대한 참조 RECT 입니다.

pointMask
POINT 마스크 비트맵의 왼쪽 위 모서리를 나타내는 구조체입니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

유효한 단색 비트맵 PlgBit 을 식별하는 경우 hbmMask 이 비트맵을 사용하여 원본 사각형에서 색 데이터의 비트를 마스킹합니다.

이 메서드는 Windows NT 버전 4.0 이상에만 적용됩니다. 자세한 내용은 Windows SDK를 참조 PlgBlt 하세요.

CImage::ReleaseDC

디바이스 컨텍스트를 해제합니다.

void ReleaseDC() const throw();

설명

한 번에 하나의 비트맵만 디바이스 컨텍스트로 선택할 수 있으므로 각 호출GetDC에 대해 호출 ReleaseDC 해야 합니다.

CImage::ReleaseGDIPlus

GDI+에서 사용하는 리소스를 해제합니다.

void ReleaseGDIPlus() throw();

설명

전역 CImage 개체에 의해 할당된 리소스를 해제하려면 이 메서드를 호출해야 합니다. CImage::CImage을(를) 참조하세요.

CImage::Save

이미지를 디스크의 지정된 스트림 또는 파일에 저장합니다.

HRESULT Save(
    IStream* pStream,
    REFGUID guidFileType) const throw();

HRESULT Save(
    LPCTSTR pszFileName,
    REFGUID guidFileType = GUID_NULL) const throw();

매개 변수

pStream
파일 이미지 데이터를 포함하는 COM IStream 개체에 대한 포인터입니다.

pszFileName
이미지의 파일 이름에 대한 포인터입니다.

guidFileType
이미지를 저장할 파일 형식입니다. 다음 중 하나일 수 있습니다.

  • ImageFormatBMP 압축되지 않은 비트맵 이미지입니다.

  • ImageFormatPNG PNG(이식 가능한 네트워크 그래픽) 압축 이미지입니다.

  • ImageFormatJPEG JPEG 압축 이미지입니다.

  • ImageFormatGIF GIF 압축 이미지입니다.

참고 항목

상수의 전체 목록은 Windows SDK의 이미지 파일 형식 상수를 참조하세요.

Return Value

표준 HRESULT.

설명

지정된 이름 및 형식을 사용하여 이미지를 저장하려면 이 함수를 호출합니다. 매개 변수가 guidFileType 포함되지 않은 경우 파일 이름의 파일 확장명을 사용하여 이미지 형식을 확인합니다. 확장이 제공되지 않으면 이미지가 BMP 형식으로 저장됩니다.

CImage::SetColorTable

DIB 섹션의 색상표에 있는 항목 범위에 대한 빨강, 녹색, 파랑(RGB) 색 값을 설정합니다.

void SetColorTable(
    UINT iFirstColor,
    UINT nColors,
    const RGBQUAD* prgbColors) throw();

매개 변수

iFirstColor
설정할 첫 번째 항목의 색 테이블 인덱스입니다.

nColors
설정할 색상표 항목 수입니다.

prgbColors
색 테이블 항목을 설정할 구조체 배열 RGBQUAD 에 대한 포인터입니다.

설명

이 메서드는 DIB 섹션 비트맵만 지원합니다.

CImage::SetPixel

비트맵의 지정된 위치에 있는 픽셀의 색을 설정합니다.

void SetPixel(int x, int y, COLORREF color) throw();

매개 변수

x
설정할 픽셀의 가로 위치입니다.

y
설정할 픽셀의 세로 위치입니다.

color
픽셀을 설정할 색입니다.

설명

픽셀 좌표가 선택한 클리핑 영역 외부에 있으면 이 메서드가 실패합니다.

CImage::SetPixelIndexed

픽셀 색을 색상표에 있는 iIndex 색으로 설정합니다.

void SetPixelIndexed(int x, int y, int iIndex) throw();

매개 변수

x
설정할 픽셀의 가로 위치입니다.

y
설정할 픽셀의 세로 위치입니다.

iIndex
색상표에 있는 색의 인덱스입니다.

CImage::SetPixelRGB

지정한 xy 위치의 픽셀을 < ga0/>로 지정한 r색 및 b빨강, 녹색, 파랑(RGB) 이미지로 설정합니다.

void SetPixelRGB(
    int x,
    int y,
    BYTE r,
    BYTE g,
    BYTE b) throw();

매개 변수

x
설정할 픽셀의 가로 위치입니다.

y
설정할 픽셀의 세로 위치입니다.

r
빨간색의 강도입니다.

g
녹색의 강도입니다.

b
파란색의 강도입니다.

설명

빨간색, 녹색 및 파란색 매개 변수는 각각 0에서 255 사이의 숫자로 표시됩니다. 세 매개 변수를 모두 0으로 설정하면 결합된 결과 색은 검은색입니다. 세 매개 변수를 모두 255로 설정하면 결합된 결과 색은 흰색입니다.

CImage::SetTransparentColor

지정된 인덱싱된 위치에 있는 색을 투명으로 설정합니다.

LONG SetTransparentColor(LONG iTransparentColor) throw();

매개 변수

iTransparentColor
색상표에서 투명으로 설정할 색의 인덱스입니다. -1이면 색이 투명으로 설정되지 않습니다.

Return Value

이전에 투명으로 설정된 색의 인덱스입니다.

CImage::StretchBlt

원본 디바이스 컨텍스트에서 이 현재 디바이스 컨텍스트로 비트맵을 복사합니다.

BOOL StretchBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    DWORD dwROP = SRCCOPY) const throw();

BOOL StretchBlt(
    HDC hDestDC,
    const RECT& rectDest,
    DWORD dwROP = SRCCOPY) const throw();

BOOL StretchBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight,
    DWORD dwROP = SRCCOPY) const throw();

BOOL StretchBlt(
    HDC hDestDC,
    const RECT& rectDest,
    const RECT& rectSrc,
    DWORD dwROP = SRCCOPY) const throw();

매개 변수

hDestDC
대상 디바이스 컨텍스트에 대한 핸들입니다.

xDest
대상 사각형의 왼쪽 위 모서리에 있는 x 좌표(논리 단위)입니다.

yDest
대상 사각형의 왼쪽 위 모서리에 있는 논리 단위의 y 좌표입니다.

nDestWidth
대상 사각형의 너비(논리 단위)입니다.

nDestHeight
대상 사각형의 높이(논리 단위)입니다.

dwROP
수행할 래스터 작업입니다. 래스터 작업 코드는 원본, 대상 및 패턴의 비트(현재 선택한 브러시에 정의된 대로)를 결합하여 대상을 구성하는 방법을 정확하게 정의합니다. 다른 래스터 작업 코드 목록 및 해당 설명은 Windows SDK를 참조 BitBlt 하세요.

rectDest
대상을 RECT 식별하는 구조체에 대한 참조입니다.

xSrc
원본 사각형의 왼쪽 위 모서리에 있는 x 좌표(논리 단위)입니다.

ySrc
원본 사각형의 왼쪽 위 모서리에 있는 논리 단위의 y 좌표입니다.

nSrcWidth
원본 사각형의 너비(논리 단위)입니다.

nSrcHeight
원본 사각형의 높이(논리 단위)입니다.

rectSrc
원본을 RECT 식별하는 구조체에 대한 참조입니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

자세한 내용은 Windows SDK를 참조 StretchBlt 하세요.

CImage::TransparentBlt

원본 디바이스 컨텍스트에서 이 현재 디바이스 컨텍스트로 비트맵을 복사합니다.

BOOL TransparentBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    UINT crTransparent = CLR_INVALID) const throw();

BOOL TransparentBlt(
    HDC hDestDC,
    const RECT& rectDest,
    UINT crTransparent = CLR_INVALID) const throw();

BOOL TransparentBlt(
    HDC hDestDC,
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight,
    UINT crTransparent = CLR_INVALID) const throw();

BOOL TransparentBlt(
    HDC hDestDC,
    const RECT& rectDest,
    const RECT& rectSrc,
    UINT crTransparent = CLR_INVALID) const throw();

매개 변수

hDestDC
대상 디바이스 컨텍스트에 대한 핸들입니다.

xDest
대상 사각형의 왼쪽 위 모서리에 있는 x 좌표(논리 단위)입니다.

yDest
대상 사각형의 왼쪽 위 모서리에 있는 논리 단위의 y 좌표입니다.

nDestWidth
대상 사각형의 너비(논리 단위)입니다.

nDestHeight
대상 사각형의 높이(논리 단위)입니다.

crTransparent
투명으로 처리할 원본 비트맵의 색입니다. 기본적으로 CLR_INVALID이미지의 투명한 색으로 현재 설정된 색을 사용해야 함을 나타냅니다.

rectDest
대상을 RECT 식별하는 구조체에 대한 참조입니다.

xSrc
원본 사각형의 왼쪽 위 모서리에 있는 x 좌표(논리 단위)입니다.

ySrc
원본 사각형의 왼쪽 위 모서리에 있는 논리 단위의 y 좌표입니다.

nSrcWidth
원본 사각형의 너비(논리 단위)입니다.

nSrcHeight
원본 사각형의 높이(논리 단위)입니다.

rectSrc
원본을 RECT 식별하는 구조체에 대한 참조입니다.

Return Value

TRUE 성공하면 이고, 그렇지 않으면 FALSE.입니다.

설명

TransparentBlt 는 픽셀당 4비트, 픽셀당 8비트 소스 비트맵에 대해 지원됩니다. 투명도를 사용하여 픽셀당 32비트 비트맵을 지정하는 데 사용합니다 CImage::AlphaBlend .

예시

// Performs a transparent blit from the source image to the destination
// image using the images' current transparency settings
BOOL TransparentBlt(CImage* pSrcImage, CImage* pDstImage,
       int xDest, int yDest, int nDestWidth, int nDestHeight)
{
    HDC hDstDC = NULL;
    BOOL bResult;

    if(pSrcImage == NULL || pDstImage == NULL)
    {
        // Invalid parameter
        return FALSE;
    }

    // Obtain a DC to the destination image
    hDstDC = pDstImage->GetDC();
    // Perform the blit
    bResult = pSrcImage->TransparentBlt(hDstDC, xDest, yDest, nDestWidth, nDestHeight);

    // Release the destination DC
    pDstImage->ReleaseDC();

    return bResult;
}

참고 항목

MMXSwarm 샘플
SimpleImage 샘플
디바이스 독립적 비트맵
CreateDIBSection
ATL COM 데스크톱 구성 요소
디바이스 독립적 비트맵