U E D R , A S I H C RSS

창섭/Bitmap Masking

1. 소개

  • MFC ì�˜ 경우다.
  • 우리가 비트맵ì�„ 불러다 쓸때 늘 사ê°�형 모양으로 불러다 쓴다. 하지만 불러다 ì“°ê³  ì‹ì�€ 모양ì�´ 사ê°�형ì�´ 아니지만 본ì�˜ 아니게 배경색까지 ë”°ë�¼ ì°�힌다. ì�´ 때 사용한다.
  • 비트맵 불러다 쓸때..(MFCì—�서) 마스í�¬ ì�¨ì„œ ë°°ê²½ 처리하는걸 래스터 ì—°ì‚° ìƒ�ê°�하며 따지는게 귀찮아서 ë‹´ì—” ë³´ê³  하려고 만든다..;;

1.1. �리1

  • 래스터 ì—°ì‚°ì�„ ì�´ìš©í•œë‹¤. 디지털 공학 시간ì—� 배우는 OR, AND, XOR 등ì�„ 비트맵ì—�서ë�„ ì �용할 수 있다. 여기서는 XOR ì�€ ì“°ì§€ 않아ë�„ ë�œë‹¤.
  • 보통 비트맵ì�„ 불러올 때 마지막ì—� ì�´ë¶€ë¶„ì�´ 있다. (코드ì�˜ 다른 설명ì�€ 추가하지 않겠ì�Œ. ë…¼ì�˜ë¥¼ 벗어나므로..)

~cpp 
	dc.BitBlt(0, 0, 100, 100, &memDC, 0, 0, SRCCOPY);
여기서 SRCCOPY �는 부분� 있는� �게 래스터 연산�(Rastor OPeration) �다. 종류는 다�과 같다.
SRCCOPY 그대로 복사
SRCPAINT OR ì—°ì‚°
SRCAND AND ì—°ì‚°
SRCINVERT XOR ì—°ì‚°
3비트 짜리 비트맵 코드(는 없겠지만...; )를 예로 든다면... 검�색� 000 �고 �색� 111 �다. 그리고� 하는 비트맵� 101 ��면, 검�색과 �본� AND 연산하면

~cpp 
000
101
---
000
� �어 �본� 무시�다. �것� 정리하면
�본과 �대할(?) 색 SRCAND(AND)� 결과 SRCPAINT(OR)� 결과
검� 색 검� 색 무변
�색 무변 �색
ì�´ë ‡ê²Œ ë�œë‹¤. 다시 본론으로 ë�Œì•„가서...우리가 하고 ì‹ì�€ ì�¼ì�€ 그림ì�˜ ë°°ê²½ì�„ 잘ë�¼ ë‚´ê³  ì›�하는 모양만ì�„ 밑그림ì—� ë¶™ì�´ëŠ” 것ì�´ë‹¤. ë”°ë�¼ì„œ 우리는 ë°°ê²½ì�€ 무시ë�˜ê³  ì›�하는 부분ì�˜ 밑그림ì�´ 무시ë�˜ì–´ì•¼ 한다.

<�본 그림>
http://165.194.17.15/~wiz/data/zpwiki/originalbmp.bmp
<밑 그림>
http://165.194.17.15/~wiz/data/zpwiki/bgbmp.bmp
<�하는 결과>
http://165.194.17.15/~wiz/data/zpwiki/resultbmp.bmp


�본 그림� �색과 검� 색으로 그려진 그림(마스�)� 밑그림� 잘 연산시켜 순서를 잘 맞춰 그리면 �하는 그림� 나오는 것�다. 마스�는 밑� �개중 아무거나 사용한다.

1.2. �리2

  • 그림ì�€ ê²€ì�€ìƒ‰ì�„ 만날 ë•� OR ì—°ì‚°ì—� 강하고 í�°ìƒ‰ì�„ 만날 ë•� AND ì—°ì‚°ì—� 강하다~!! B)
  • 반면ì—� ê²€ì�€ìƒ‰ì�„ 만날 ë•� AND ì—°ì‚°ì—� 약하고 í�°ìƒ‰ì�„ 만날 ë•� OR ì—°ì‚°ì—� 약하다... :(
  • ë”°ë�¼ì„œ 무시ë�  부분ì�€ 약하고 ë³´ì�¼ 부분ì�€ ê°•í•´ì§€ë�„ë¡� 배경색ì�„ 정하고 마스í�¬ë¥¼ 정한다.
  • 우리는 그림ì�´ ì�´ê¸°ê³ ~! 그림 외ì�˜ 부분ì�€ 밑그림ì�´ ì�´ê²¨ì•¼ 한다~!
    1. 밑그림� 먼저 깔아놓고...
    2. 그 위� 배경�리는 밑그림� �기고 그림�리는 그림� �기��.. 마스�� 색깔� 정한다.
    3. �제 다�과 같� �다.

1.2.1. 마스� 1 사용

  • 사용하는 마스í�¬
http://165.194.17.15/~wiz/data/zpwiki/andmask.bmp
  • ì�´ë•Œ 그림 주변ì�˜ ë°°ê²½ 색깔
http://165.194.17.15/~wiz/data/zpwiki/orbmp.bmp

1.2.1.1. 순서

  1. 밑그림� �는다.
  2. 마스�를 SRCAND 연산 한다.
  3. 그림� SRCPAINT 연산 한다.

1.2.2. 마스� 2 사용

  • 사용하는 마스í�¬
http://165.194.17.15/~wiz/data/zpwiki/ormask.bmp
  • ì�´ë•Œ 그림 주변ì�˜ ë°°ê²½ 색깔
http://165.194.17.15/~wiz/data/zpwiki/andbmp.bmp

1.2.2.1. 순서

  1. 밑그림� �는다.
  2. 마스�를 SRCPAINT 연산 한다.
  3. 그림� SRCAND 연산 한다.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:31:15
Processing time 0.0062 sec