2.1 이미지 처리 : 응용편
샘플 이미지 두개를 이용하여 진행한다.
|
|
image/character_00.png |
image/character_01.png |
아래의 예제는 character_01.png를 처리한 후 character_00.png를 처리하고 있다.
#include <DxLib.h> int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){ ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK ); int x = 0; int Handle00, Handle01; Handle00 = LoadGraph( "image/character_00.png" ); Handle01 = LoadGraph( "image/character_01.png" ); while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 ){ DrawGraph( x/2, 0, Handle01, TRUE ); DrawGraph( x, 0, Handle00, TRUE ); x++; }
DxLib_End(); return 0; } |
실행결과
프로그램은 위에서부터 차례대로 실행되기 때문에 character_01.png가 먼저 그려지고 이후 character_00.png가 그려지게된다. 이 때문에 좀더 나중에 그려진 이미지가 먼저 그려진 이미지보다 위에 보이게 된다. 다음 예제는 순서를 바꾸어 본 경우이다.
#include <DxLib.h> int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){ ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK ); int x = 0; int Handle00, Handle01; Handle00 = LoadGraph( "image/character_00.png" ); Handle01 = LoadGraph( "image/character_01.png" ); while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 ){ DrawGraph( x/2, 0, Handle00, TRUE ); DrawGraph( x, 0, Handle01, TRUE ); x++; }
DxLib_End(); return 0; } |
실행결과
결과에서 보는 것 처럼 character_01.jpg의 이미지에는 투명한 부분이 포함되어있는 이미지다. DrawGraph함수를 통하여 투명도 적용 여부를 결정 가능하다.
DrawGraph( x/2, 0, Handle00, TRUE );
붉은색 표시된 TRUE를 FALSE로 변경하면 투명부분을 처리하지 않는다.
'DX라이브러리' 카테고리의 다른 글
2.3 알파블렌딩 (0) | 2014.12.23 |
---|---|
2.2 이미지 회전, 확대축소 (0) | 2014.12.22 |
1.9 게임 프로그램 골격의 완성 (0) | 2014.12.22 |
1.8 소스코드를 간단하게 줄이자 (0) | 2014.12.22 |
1.7 백그라운드처리를 통한 이미지 움직이기 (0) | 2014.12.22 |