DX라이브러리2014. 12. 23. 11:32

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
Posted by 캡슐리어