달력

11

« 2018/11 »

  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  •  
2010.04.24 10:45

API-RopMode 프로그래밍/API2010.04.24 10:45





선을 그릴때, 반전 모드를 사용하는 예제,

이 예제에서 가장 중요한 부분은, WM_MOUSEMOVE: 부분인데,
SetROP(hdc, R2_NOT); 은
그 부분에 대해서 NOT연산을 처리한다.
마우스를 왼쪽 버튼을 누른체 마우스를 움직이게 되면
이전 위치에 선을 지우고
다시 현재 이동된 마우스의 좌표를 가져온 다음,
다시 선을 그린다.
이런식으로 돌아 간다.
SetROP라는 함수는 이미지 비트연산을 하게 되는데,
R2_NOT 뿐만이 아니라 다양한 것들이 존재한다.
 그리기 모드  설명
 R2_BLACK  항상 검정색
 R2_WHITE  항상 흰색
 R2_NOP  아무런 그리기도 하지 않는다.
 R2_NOT  원래의 그림을 반전 시킨다.
 R2_COPYPEN  원래의 그림을 덮어버리고 새 그림을 그린다.(디폴트)
 R2_NOTCOPYPEN  새 그림을 반전시켜 그린다.
 R2_NOTXORPEN  XOR한 결과의 반대값을 써 넣는다.
 R2_MERGEPEN  OR연산으로 두 그림을 합친다.
 R2_MASKPEN  AND연산으로 겹치는 부분만 그린다.
 R2_XORPEN  XOR연산으로 겹치는 부분만 반전시킨다.
상황에 따라 적절한 비트연산을 해보자!?

// 실행 화면
마우스 왼쪽 버튼을 때기 전까진 선을 그리지 않고 선이 마우스 포인터를 따라다닌다?

'프로그래밍 > API' 카테고리의 다른 글

API-Control(1)  (0) 2010.04.24
API-BitMap  (0) 2010.04.24
API-RopMode  (0) 2010.04.24
API-GdiObject  (0) 2010.04.22
API-resource(3)  (0) 2010.04.21
API-resource(2)  (0) 2010.04.21
Posted by 안식의후크