메뉴 건너뛰기

창조도시 기록보관소

언어 [DX/VB] DirectDraw? 별거 아냐! (2) 블리팅, 그리고 투명도

2007.07.30 06:19

악희 조회 수:570 추천:4

 


어제는 좀 바빠서 글을 못 올렸네요;;;


 







 


(2) 블리팅, 그리고 투명도


 


1. 블리팅


 


우선..블리팅이 무엇이냐?


 


간단히 DirectDraw 표면에 그림을 그려주는 것 이지요...


 


DirectDrawSurface7객체의 블리팅 함수에는 여러가지가 있는데... 몇가지만 알아보겠슴다.


 


1) Blt함수


 


기본 블리터입니다. 크기 조절도 해주고 투명도도 넣어주지만 크기조절은 되도록 안 하는것이 좋습니다.(느려요)


 


 


Blt( destRect As RECT, ddS As DirectDrawSurface7, srcRect As Rect, flags As CONST_DDBLTFLAGS ) As Long

 


 


destRect는 복사될 위치(왼쪽,위,오른쪽,아래 를 나타내는 RECT구조체로 나타냅니다) DirectDrawSurface는 Source(원본) 표면 객체, srcRect는 Source객체의 복사될 부분, flags는 옵션을 나타냅니다.


 


2. BltFast 함수


 


배경이 잘리는 현상을 고려하지 않고 원본을 대상으로 복사하는 블리팅 함수입니다.


더블 버퍼 등의 이미지를 빨리 그릴때 쓰입니다.


 


BltFast(dx As Long, dy As Long, ddS As DirectDrawSurface7, srcRect As Rect, trans As CONST_DDBLTFLAGS ) As Long

 


3. BltColorFill함수


 


어떤 표면을 특정 색으로 채울때 쓰는 함수입니다.


 


 


BltColorFill( destRect As RECT, fillvalue As Long ) As Long


2) 투명도


 


Blt함수를 이용해서 투명도를 나타내려면 우선 색상 키를 생성해야 합니다.


Private ddcColorKey As DDCOLORKEY
ddcColorKey.low=0
ddcColorKey.high=0
ddSurface.SetColorKey DDCKEY_SRCBLT, ddcColorKey

 


 


위는 low색을 0, high색을 0으로 하여 검정색을 투명으로 ddSurface객체의 투명 색을 검정으로 선언한다는 뜻입니다.


 






 


이번 강좌는 꽤 짧군요.. 이번 시간에는 블리팅과 투명도에 대해서 알아보았습니다.


 


다음 강에서는 더블 버퍼의 생성과 블리팅, 스프라이트 그리기에 대해서 알아보겠습니다.

번호 제목 글쓴이 날짜 조회 수
82 3Ds Max로 모델링한거 띄우기 [1] file 랜스 2008.05.02 1147
81 서로 돕고 사는 세상~ Zeprod 2007.11.25 559
80 1. 게임 시나리오의 기초 [2] 샤르엘 2007.11.09 793
79 게임 시나리오 쓰기에 앞서 [2] 샤르엘 2007.11.09 523
78 [DX/VB] DirectDraw? 별거 아냐! (3) 더블 버퍼의 생성과 블리팅 [2] 악희 2007.08.01 624
» [DX/VB] DirectDraw? 별거 아냐! (2) 블리팅, 그리고 투명도 [1] 악희 2007.07.30 570
76 [DX/VB] DirectDraw? 별거 아냐! (1) DirectDraw객체의 생성과 표면의 생성 [3] 악희 2007.07.27 631
75 [C++] 클래스(객체지향) - 기본 생성자와 소멸자 [3] Sirjhswin 2007.06.11 487
74 [C++] 한글과 영어가 섞인 문자열의 길이 체크 [4] Zeprod 2007.05.27 1427
73 [DX&C++] 화면에 글씨를 써볼까요. [2] Zeprod 2007.05.17 741
72 오랜만에 잡담 하나 [4] 아란 2007.04.27 367
71 [DX&C++] 3D를 넘어 2D로! [13] Zeprod 2007.04.11 831
70 [DX&C++] 지형을 만들어 봅시다. (Height Map) [1] Zeprod 2007.04.02 492
69 [DX&C++]3D공간상 카메라 시점의 대한 정의 [3] 실베 2007.04.01 389
68 [DX&C++] IndexBuffer를 알아보자! [2] Zeprod 2007.03.31 334
67 [DX&C++] 3대 행렬 연산의 비대칭성(unsymmetry) [1] Zeprod 2007.03.31 303
66 3D좌표계에 3D물체를 찍기위환 기초과정 [3] 실베 2007.03.30 378
65 [DX&C++] 3대 행렬 연산의 사용 [3] Zeprod 2007.03.16 842
64 [DX&C++] 3D를 다루는 프로그램의 개요 [3] Zeprod 2007.03.13 403
63 template에 관한 간단한 예. [2] 김두한 2007.03.12 237