U E D R , A S I H C RSS

MFC/Raster Operation

{{| |}}

1. ROP?

CDC는 다양한 드로윙 모드를 제공한다. ROP는 그런 드로윙 모드의 하나로, 동적으로 변화되는 그림을 그릴때 그림을 지우고 다시그리는 작업을 하는데 유용하다.
~cpp CDC::SetROP2() 라는 함로 제공하며 RasterOPerationTo의 약자이다.

2. CDC Drawing Modes

R2_BLACK 모든 그림은 검은색
R2_WHITE 모든 그림은 흰색
R2_NOP 아무런 그리기 작업을 하지 않음
R2_NOT 그림이 화면색의 반대가 된다. 출력이 항상 보이게 하려고 할때 쓰인다.
R2_COPYPEN 펜색으로 그려짐
R2_NOTCOPYPEN 펜색과 반대의 색으로 그려짐
R2_MERGEPENNOT 펜의 색과 배경과 반대색을 OR로 만들어진 색으로 그려짐
R2_MASKPENNOT 펜 색과 배경과 반대색을 AND로 만들어진 색으로 그려짐
R2_MERGENOTPEN 펜의 반대색과 배경색을 OR로 연산한 색으로 그려짐
R2_MASKNOTPEN 펜의 반대색과 배경색을 AND로 연산한 색으로 그려짐
R2_MERGEPEN 펜색과 배경색을 OR로 연산한 색으로 그려짐
R2_NOTMERGEPEN R2_MERGEPEN의 반대색으로 그려짐
R2_MASKPEN 배경색과 펜의 색을 AND로 연산한 색으로 그려짐
R2_NOTMASKPEN R2_MASKPEN색과 반대의 색으로 그려짐
R2_XORPEN 펜과 배경색을 XOR연산한 결과로 그려짐
R2_NOTXORPEN R2_XORPEN과 반대의 색으로 그려짐
ROP와 관계된 모드는 R2_NOTXORPEN이다.

3. Explaination

배경이 흰색이고 그림을 그리는 색이 붉은 색이라면?
R G B
BACK>WHITE 1 1 1
PEN>RED 1 0 0
XOR 0 1 1
NOTXOR 1 0 0
상기에서 보듯 결과는 붉은 색이된다.

이제 그려진 그림위에 다시 붉은 색으로 그림을 그린다고 가정해보자.
R G B
BACK>RED 1 0 0
PEN>RED 1 0 0
XOR 0 0 0
NOTXOR 1 1 1
상기에서 보듯 원래의 배경 색으로 다시 채워진 것을 확인할 있다.

이를 이용하면 그림을 지우는 과정을 하지 않고 단순히 동일한 그림을 그림으로써 기존의 그려진 그림을 간단히 지우는 것이 가능하다.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:42
Processing time 0.0248 sec