비트맵 함수(GDI+)

Windows GDI+는 Gdiplus.dll 구현되고 Gdiplusflat.h에 선언된 약 600개의 함수로 구성된 플랫 API를 노출합니다. GDI+ 플랫 API의 함수는 약 40개의 C++ 클래스 컬렉션으로 래핑됩니다. 플랫 API에서 함수를 직접 호출하지 않는 것이 좋습니다. GDI+를 호출할 때마다 C++ 래퍼에서 제공하는 메서드 및 함수를 호출하여 호출해야 합니다. Microsoft 제품 지원 서비스는 플랫 API를 직접 호출하는 코드에 대한 지원을 제공하지 않습니다. 이러한 래퍼 메서드를 사용하는 방법에 대한 자세한 내용은 GDI+ Flat API 참조하세요.

다음 플랫 API 함수는 비트맵 C++ 클래스에 의해 래핑됩니다.

비트맵 함수 및 해당 래퍼 메서드

플랫 함수 래퍼 메서드 묘사
GpStatus WINGDIPAPI GdipCreateBitmapFromStream(IStream* 스트림, GpBitmap **비트맵) 비트맵::비트맵 스트림을 기반으로 비트맵::Bitmap 개체를 만듭니다. 이 함수는 ICM(이미지 색 관리)을 사용하지 않습니다. 비트맵::비트맵 생성자의 useEmbeddedColorManagement 매개 변수가 FALSE 설정되면 호출됩니다.
GpStatus WINGDIPAPI GdipCreateBitmapFromFile(GDIPCONST WCHAR* filename, GpBitmap **bitmap) 비트맵::비트맵 이미지 파일을 기반으로 비트맵::Bitmap 개체를 만듭니다. 이 함수는 ICM을 사용하지 않습니다. 비트맵::비트맵 생성자의 useEmbeddedColorManagement 매개 변수가 FALSE 설정되면 호출됩니다.
GpStatus WINGDIPAPI GdipCreateBitmapFromStreamICM(IStream* stream, GpBitmap **bitmap) 비트맵::비트맵 스트림을 기반으로 비트맵::Bitmap 개체를 만듭니다. 이 함수는 ICM을 사용합니다. 비트맵::비트맵 생성자의 useEmbeddedColorManagement 매개 변수가 TRUE 설정되면 호출됩니다.
GpStatus WINGDIPAPI GdipCreateBitmapFromFileICM(GDIPCONST WCHAR* filename, GpBitmap **bitmap) 비트맵::비트맵 이미지 파일을 기반으로 비트맵::Bitmap 개체를 만듭니다. 이 함수는 ICM을 사용합니다. 비트맵::비트맵 생성자의 useEmbeddedColorManagement 매개 변수가 TRUE 설정되면 호출됩니다.
GpStatus WINGDIPAPI GdipCreateBitmapFromScan0(INT width, INT height, INT stride, PixelFormat format, BYTE* scan0, GpBitmap** 비트맵) 비트맵::비트맵 크기 및 서식 정보와 함께 바이트 배열을 기반으로 Bitmap::Bitmap 개체를 만듭니다.
GpStatus WINGDIPAPI GdipCreateBitmapFromGraphics(INT width, INT height, GpGraphics* target, GpBitmap** 비트맵) 비트맵::비트맵 Graphics 개체, 너비 및 높이를 기반으로 Bitmap::Bitmap 개체를 만듭니다.
GpStatus WINGDIPAPI GdipCreateBitmapFromDirectDrawSurface(IDirectDrawSurface7* surface, GpBitmap** 비트맵) 비트맵::비트맵 DirectDraw 표면을 기반으로 비트맵::Bitmap 개체를 만듭니다. Bitmap::Bitmap 개체는 Bitmap::Bitmap 개체가 삭제되거나 범위를 벗어날 때까지 DirectDraw 화면에 대한 참조를 유지합니다.
GpStatus WINGDIPAPI GdipCreateBitmapFromGdiDib(GDIPCONST BITMAPINFO* gdiBitmapInfo, VOID* gdiBitmapData, GpBitmap** 비트맵) 비트맵::비트맵 BITMAPINFO 구조체 및 픽셀 데이터 배열을 기반으로 Bitmap::Bitmap 개체를 만듭니다.
GpStatus WINGDIPAPI GdipCreateBitmapFromHBITMAP(HBITMAP hbm, HPALETTE hpal, GpBitmap** 비트맵) 비트맵::비트맵 Windows Windows GDI(그래픽 디바이스 인터페이스) 비트맵에 대한 핸들과 GDI 팔레트에 대한 핸들을 기반으로 Bitmap::Bitmap 개체를 만듭니다.
GpStatus WINGDIPAPI GdipCreateHBITMAPFromBitmap(GpBitmap* 비트맵, HBITMAP* hbmReturn, ARGB 백그라운드) 비트맵::GetHBITMAP 비트맵::GetHBITMAP 메서드는 이 비트맵 개체에서 GDI 비트맵을 만듭니다.
GpStatus WINGDIPAPI GdipCreateBitmapFromHICON(HICON hicon, GpBitmap** 비트맵) 비트맵::비트맵 아이콘을 기반으로 비트맵 개체를 만듭니다.
GpStatus WINGDIPAPI GdipCreateHICONFromBitmap(GpBitmap* 비트맵, HICON* hbmReturn) 비트맵::GetHICON 비트맵::GetHICON 메서드는 이 비트맵 개체에서 아이콘을 만듭니다.
GpStatus WINGDIPAPI GdipCreateBitmapFromResource(HINSTANCE hInstance, GDIPCONST WCHAR* lpBitmapName, GpBitmap** 비트맵) 비트맵::비트맵 애플리케이션 또는 DLL 인스턴스 핸들 및 비트맵 리소스의 이름을 기반으로 Bitmap::Bitmap 개체를 만듭니다.
GpStatus WINGDIPAPI GdipCloneBitmapArea(REAL x, REAL y, REAL width, REAL height, PixelFormat format, GpBitmap *srcBitmap, GpBitmap **dstBitmap) 비트맵::복제 비트맵::Clone 메서드는 이 비트맵의 일부를 복사하여 새 비트맵 개체를 만듭니다.
GpStatus WINGDIPAPI GdipCloneBitmapAreaI(INT x, INT y, INT width, INT height, PixelFormat 형식, GpBitmap *srcBitmap, GpBitmap **dstBitmap) 비트맵::복제 비트맵::Clone 메서드는 이 비트맵의 일부를 복사하여 새 비트맵 개체를 만듭니다.
GpStatus WINGDIPAPI GdipBitmapLockBits(GpBitmap* 비트맵, GDIPCONST GpRect* rect, UINT 플래그, PixelFormat 형식, BitmapData* lockedBitmapData) 비트맵::LockBits Bitmap::LockBits 메서드는 이 비트맵의 사각형 부분을 잠그고 지정된 형식으로 픽셀 데이터를 읽거나 쓰는 데 사용할 수 있는 임시 버퍼를 제공합니다. 버퍼에 쓰는 모든 픽셀 데이터는 비트맵::UnlockBits호출할 때 Bitmap 개체에 복사됩니다.
GpStatus WINGDIPAPI GdipBitmapUnlockBits(GpBitmap* 비트맵, BitmapData* lockedBitmapData) 비트맵::UnlockBits Bitmap::UnlockBits 메서드는 이전에 비트맵::LockBits호출로 잠근 이 비트맵의 일부를 잠금 해제합니다.
GpStatus WINGDIPAPI GdipBitmapGetPixel(GpBitmap* 비트맵, INT x, INT y, ARGB *color) 비트맵::GetPixel 비트맵::GetPixel 메서드는 이 비트맵에서 지정된 픽셀의 색을 가져옵니다.
GpStatus WINGDIPAPI GdipBitmapSetPixel(GpBitmap* 비트맵, INT x, INT y, ARGB 색) 비트맵::SetPixel 비트맵::SetPixel 메서드는 이 비트맵에서 지정된 픽셀의 색을 설정합니다.
GpStatus WINGDIPAPI GdipBitmapSetResolution(GpBitmap* 비트맵, REAL xdpi, REAL ydpi) 비트맵::SetResolution Bitmap::SetResolution 메서드는 이 비트맵 개체의 해상도를 설정합니다.
GpStatus WINGDIPAPI GdipBitmapConvertFormat(IN GpBitmap *pInputBitmap, PixelFormat format, DitherType dithertype, PaletteType palettetype, ColorPalette *palette, REAL alphaThresholdPercent) 비트맵::ConvertFormat 비트맵::ConvertFormat 메서드는 비트맵을 지정된 픽셀 형식으로 변환합니다. 비트맵의 원래 픽셀 데이터는 새 픽셀 데이터로 대체됩니다.
GpStatus WINGDIPAPI GdipInitializePalette(OUT ColorPalette *palette, PaletteType palettetype, INT optimalColors, BOOL useTransparentColor, GpBitmap *bitmap) 비트맵::InitializePalette Bitmap::InitializePalette 메서드는 표준, 최적 또는 사용자 지정 색상표를 초기화합니다.
GpStatus WINGDIPAPI GdipBitmapApplyEffect(GpBitmap* bitmap, CGpEffect *effect, RECT *roi, BOOL useAuxData, VOID **auxData, INT *auxDataSize) 비트맵::ApplyEffect Bitmap::ApplyEffect 메서드는 지정된 효과를 적용하여 이 비트맵 개체를 변경합니다.
GpStatus WINGDIPAPI GdipBitmapCreateApplyEffect(GpBitmap **inputBitmaps, INT numInputs, CGpEffect *effect, RECT *roi, RECT *outputRect, GpBitmap **outputBitmap, BOOL useAuxData, VOID **auxData, INT *auxDataSize) 비트맵::ApplyEffect Bitmap::ApplyEffect 메서드는 기존 비트맵 개체에 지정된 효과를 적용하여 새 비트맵 개체를 만듭니다.
GpStatus WINGDIPAPI GdipBitmapGetHistogram(GpBitmap* bitmap, IN HistogramFormat 형식, IN UINT NumberOfEntries, OUT UINT *channel0, OUT UINT *channel1, OUT UINT *channel2, OUT UINT *channel3) 비트맵::GetHistogram Bitmap::GetHistogram 메서드는 이 Bitmap 개체의 지정된 색 채널에 대해 하나 이상의 히스토그램을 반환합니다.
GpStatus WINGDIPAPI GdipBitmapGetHistogramSize(IN HistogramFormat format, OUT UINT *NumberOfEntries) 비트맵::GetHistogramSize Bitmap::GetHistogramSize비트맵 개체의 Bitmap::GetHistogram 메서드를 호출하기 전에 할당해야 하는 요소의 수(UINT배열)를 반환합니다.
상태 __stdcall GdipCreateEffect(const GUID guid, CGpEffect **effect) 효과 Effect 클래스의 모든 하위 항목의 생성자는 GdipCreateEffect를 호출합니다. 예를 들어 Blur 생성자는 GdipCreateEffect(BlurEffectGuid, &nativeEffect)를 호출합니다. BlurEffectGuid는 Gdipluseffects.h에 정의된 상수입니다.
상태 __stdcall GdipDeleteEffect(CGpEffect *effect) virtual ~Effect() Bitmap 개체에서 사용하는 리소스를 정리합니다.
상태 __stdcall GdipGetEffectParameterSize(CGpEffect *effect, UINT *size) 효과::GetParameterSize Effect::GetParameterSize 메서드는 이 Effect대해 현재 설정된 매개 변수의 총 크기(바이트)를 가져옵니다. Effect::GetParameterSize 메서드는 일반적으로 Effect 클래스의 하위 항목 인스턴스인 개체에서 호출됩니다.
상태 __stdcall GdipSetEffectParameters(CGpEffect *effect, const VOID *params, const UINT size) 효과 Effect 클래스의 각 하위 항목에는 보호된 메서드 Effect::SetParameters를 호출하는 SetParameters 메서드가 있으며, 이 메서드는 GdipSetEffectParameters를 호출합니다. 예를 들어 Blur::SetParameters 메서드는 Effect::SetParameters(매개 변수, 크기)를 호출합니다.
상태 __stdcall GdipGetEffectParameters(CGpEffect *effect, UINT *size, VOID *params) 효과 Effect 클래스의 각 하위 항목에는 보호된 메서드 Effect::GetParameters를 호출하는 GetParameters 메서드가 있으며, 이 메서드는 GdipSetEffectParameters를 호출합니다. 예를 들어 Blur::GetParameters 메서드는 Effect::GetParameters(매개 변수, 크기)를 호출합니다.
GpStatus WINGDIPAPI GdipTestControl(GpTestControlEnum control, void * param) 래퍼에서 호출되지 않음 GDI+의 내부 테스트에 사용됩니다. 이미지 처리 동작의 변경 내용을 지정합니다. 매개 변수 매개 변수의 의미는 컨트롤 매개 변수에 전달된 값에 따라 달라집니다.
컨트롤 매개 변수가 TestControlForceBilinear로 설정된 경우 매개 변수는 BOOL 형식의 값을 가리킵니다. 해당 값이 TRUE 현재 보간 모드가 InterpolationModeNearestNeighbor이외의 값이면 InterpolationModeBilinear 알고리즘이 사용됩니다. 매개 변수 가리키는 값이 FALSE 경우 또는 현재 보간 모드가 interpolationModeNearestNeighbor경우 GDI+의 동작은 변경되지 않습니다.
컨트롤 매개 변수가 TestControlNoICM으로 설정된 경우 매개 변수 BOOL 형식의 값을 가리킵니다. 해당 값이 TRUE 경우 이미지가 메모리에 로드될 때 ICM 프로필이 무시됩니다. 매개 변수가 가리키는 값이 FALSE 경우 GDI+의 동작은 변경되지 않습니다.
컨트롤 매개 변수가 TestControlGetBuildNumber로 설정된 경우 매개 변수 32비트 정수 변수를 가리키는 출력 매개 변수입니다. 해당 변수는 GDI+ 빌드 번호를 받습니다.
GdipTestControl은 스레드로부터 안전하지 않습니다. GDI+를 사용하는 스레드가 하나만 있다고 가정합니다. 다중 스레드 환경에서 GdipTestControl을 호출하면 결과를 예측할 수 없습니다.
GpTestControlEnum 열거형에는 TestControlForceBilinear = 0, TestControlNoICM = 1 및 TestControlGetBuildNumber = 2의 세 가지 요소가 있습니다.