C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[57485] Re:Re:Re: 그럼 Panel 위에다가 타원을 그릴 수 있는 방법은 없을까요??
장성호 [nasilso] 1687 읽음    2009-07-06 16:30
질문을 잘 이해하지 못하겠네요..

OpenCV를 통해 영상처리를 공부한다구요?

제가 OpenCV를 잘 몰라서 뭐라 정확하 설명을 못드리겠네요..

OpenCV에  윈도우Handle을 넘겨줘서 영상을 화면에 뿌려주는 기능 말구..

RawData를 바로 받을수 있는 기능이 없습니까?


방법1
  1) RowData를 바로 받아서 TImage에 Draw해주고
  2) TImage위에다가  원이나 타원을 그리면 될것 입니다.


; OpenCV 라이브러리에 Panel->Handle을 넘겨서 바로 뿌려주도록 했다면..
방법2-1
      1) TImage를 transparent=true로 하시구
      2) TImage에다가 타원만 그리면 될듯..
       (OpenCV를 써보지 않아서.. 추축입니다.)

방법2-2
     ;  TImage를 사용하지 않고   바로 TPanel의 Canvas에 그리면 됩니다.
     TPanel은 Canvas가 라는 Proeprty가 안보이는데..
     아래링크의 팁을 이용해도 되구
     http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=546

    다음과 같이 사용해도 됩니다.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
	static TCanvas *PanelCanvas=NULL;

   if(PanelCanvas==NULL)
   {
    	PanelCanvas=new TCanvas;
      PanelCanvas->Handle=GetDC(Panel1->Handle);
   }

   PanelCanvas->Rectangle(rc);
   PanelCanvas->Ellipse(8,8,8,8,);

}


   문론 ButtonClick에 그려주면 한번만 그려주니까
   다시 Paint가 발생하면 지워집니다. 계속 반복해서 그려주는 로직이 필요하죠..


위 방법중 1번이 가능하면 권하고 싶습니다.

그럼..
  


김병규 님이 쓰신 글 :
: Panel 위에 원이나 타원을 그릴 수 있는 방법은 없나요??
:
: 이렇게 되면 깜박임 문제가 있을수 있을것도 같은데...
:
: 원래라면 image에다가 바로 그려서 panel 위에다가 한번에 뿌려주고 싶은데..
:
: 아직 모르는게 너무 많아서..
:
: 조언 좀 부탁드리겠습니다!  (--) (__) (--)
:
: 장성호 님이 쓰신 글 :
: : TImage컨트롤은 윈도우 핸들이 없는 GrahpicControl입니다.
: :
: : Form이나 Panel등은 WinControl이구요
: :
: : TImage의 Canvas->Handle은 WindowHandle이 아니라
: :
: : DC입니다.
: :
: : 그럼...
: :
: :
: :
: : 김병규 님이 쓰신 글 :
: : : Open cv를 이용해서 영상처리를 공부하고 있습니다.
: : :
: : : 다름이 아니라 웹캠으로 부터 받는 영상을 Image 컴포넌트에 띄우기 위해서
: : :
: : : HWND hwnd1 = Image->Canvs->Handle;
: : :
: : : 위와 같이 하면 영상이 제가 폼위에 올려 놓은 이미지 컴포넌트 위에 나타나는 것이 아니라
: : :
: : : 자꾸 모니터 왼쪽 끝에 영상이 나타납니다.
: : :
: : : Panel이나 다른 컴포넌트의 handle을 받아 와서 뿌려줄때는 문제가 없었는데...
: : :
: : : Image컴포넌트를 쓸때만 이렇네요...
: : :
: : : Panel에다 뿌려줘도 상관은 없는데.. 제가 받아온 영상위에 원을 그려서 물체를 tracking을
: : :
: : : 해야하는데.. 다른 컴포넌트에는 타원(ellipse)을 그려줄 수 있는 방법이 없는거 같아서요..
: : :
: : : 영상의 위치를 제가 폼 위에 올려 놓은 그 위치에다 나오게 하라면 어떻게 해야 하나요...
: : :
: : : 조언 좀 부탁드리겠습니다!

+ -

관련 글 리스트
57475 Image 컴포넌트에 영상을 띄울려고 하는데 영상의 위치를 이동 시킬 수 없나요? 김병규 968 2009/07/05
57497     Re:Image 컴포넌트에 영상을 띄울려고 하는데 영상의 위치를 이동 시킬 수 없나요? 사랑니 2043 2009/07/07
57500         Re:Re: 답변 감사드립니다~ 김병규 1189 2009/07/07
57476     Re:Image 컴포넌트에 영상을 띄울려고 하는데 영상의 위치를 이동 시킬 수 없나요? 장성호 1137 2009/07/06
57478         Re:Re: 그럼 Panel 위에다가 타원을 그릴 수 있는 방법은 없을까요?? 김병규 1015 2009/07/06
57485             Re:Re:Re: 그럼 Panel 위에다가 타원을 그릴 수 있는 방법은 없을까요?? 장성호 1687 2009/07/06
57499                 Re:Re:Re:Re: 답변 감사드립니다~ 김병규 1014 2009/07/07
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.