기술탐구

[오픈캡쳐] 펜과 브러쉬 색을 바꾸는 procedure 만들어 보기.

appleii 2009. 5. 18. 19:55
한때 개발 중단선언으로 많은 사람들에게 충격을 주었던 오픈캡쳐.

다행히도 개발이 다시 이루어지고 있다. 개발이 중단된 것은 한 사용자의 기능 추가 요구가 좀 무례했기 때문이었다.
하지만, 오픈 캡쳐(opencapture) 는 말그대로 open 아닌가. source 가 open 되어 있으니 사용자가 원하면 기능을 추가할 수 있다. 이제는 개발자에게 짜증내지 말고 오픈캡쳐에 기능을 추가해보자. 오픈캡쳐에 추가할 기능은 펜과 브러쉬의 색을 맞바꾸는 기능이다. 설명은 Delphi 2009 를 기준으로 작성되었다. 하지만, 추가할 컴포넌트는 기본 컴포넌트이므로 Turbo Delphi 2006 에서도 사용할 수 있다.

1. 우선 폼을 선택하고 Tool Palette 에서 Additional 을 선택한다.

2. TSpeedButton 을 선택한다.

3. SpeedButton1 을 coolbrPaintBox -> pnlPaintBox 위에 올린다.

4. Object Inspector 에서 Name 을 btnColorExchange 로 바꾼다.

5. Glyph 를 선택하여 ... 버튼을 누른다.

6. Load 버튼을 누르고 버튼에 들어갈 비트맵이미지를 선택한다.
 https://t1.daumcdn.net/cfile/tistory/1708880E4A1138183A

7. Object Inspector 에서 Flat 을 True 로 바꾼다. (이것은 평소에는 평평하게 되어 있어서 버튼처럼 보이지 않다가 마우스 포인터를 위치시키면 버튼 모양으로 변하는 속성임)

8. Hint 를 선택하여   '펜과  브러쉬의 색을 맞바꿉니다.' 를 추가한다.

9. 폼에서 추가한 버튼을 더블 클릭한다.

10. 에디터에서 다음과 같이 내용을 추가한다.

procedure TfrmMain.btnColorExchangeClick(Sender: TObject);
var
  TempColor : TColor;
begin
  TempColor := FPalettePen.Color;
  FPalettePen.Color := FPaletteBrush.Color;
  FPaletteBrush.Color := TempColor;
end;



컴파일하면 다음과 같이 기능이 추가된 것을 알 수 있다.


P.S. 현재 이 기능은 오픈 캡쳐 1.3.7 에 추가되었다.