2.3 알파블렌딩
알파블렌딩에서의 알파는 투명도를 이야기 하는 것이며 두 이미지의 알파를 블렌딩한다는 것 즉, 반투명 효과를 말한다. 이 처리를 위한 흐름은 다음과 같다.
- 이미지 처리 방법을 알파블렌딩으로 설정
- 이미지A를 화면에 표시
- 이미지 처리 방법을 본래대로 돌림.
이 기능을 위해선 SetDrawBlendMode함수를 사용한다. 리퍼런스는 여기서 확인.
선언 |
int SetDrawBlendMode( int BlendMode , int Pal ); |
기능 |
이미지의 알파블렌딩 |
인수 |
BlendMode : 블렌딩 모드 설정 - DX_BLENDMODE_NOBLEND : 노블렌딩(디폴트) - DX_BLENDMODE_ALPHA : 알파블렌딩 Pal : 블렌드모드 파라메터 (0~255) |
첫번째 인수는 차후에 설명하기로 하며 일단 DX_BLENDMODE_ALPHA 로 고정. 두번째 인수는 0에서 완전 투명 255에서 완전 불투명의 단계로 설정 가능.
사용예제
#include <DxLib.h> #define PI 3.141592654 int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){ ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK ); int x = 100; int Handle; Handle = LoadGraph( "image/character_00.png" ); while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 ){ DrawRotaGraph( 400, 200, 2.0, PI*x, Handle, TRUE ); SetDrawBlendMode( DX_BLENDMODE_ALPHA, 128); //블렌드모드 128/255 설정 DrawRotaGraph( x, 200, 1.0, 0.0, Handle, TRUE ); SetDrawBlendMode( DX_BLENDMODE_NOBLEND, 0 ); //블렌드모드 OFF x++; } DxLib_End(); return 0; } |
실행결과
'DX라이브러리' 카테고리의 다른 글
2.5 텍스트 표현 (0) | 2014.12.23 |
---|---|
2.4 가산블렌딩 (0) | 2014.12.23 |
2.2 이미지 회전, 확대축소 (0) | 2014.12.22 |
2.1 이미지 처리 : 응용편 (0) | 2014.12.22 |
1.9 게임 프로그램 골격의 완성 (0) | 2014.12.22 |