Q&A

  • 델파이에서 원을 그리고 싶은데
안녕하세요.



델파이에서 원을 그리고 싶은데 어떻게 해야하지요.



반경(R)과 원호의 시작점(SP)과 끝점(EP)을 알고 있는데요. 물론 중심(X,Y)도 알고 있고요.

아시는분 꼭 답변부탁드립니다. 지금은 이상한 방법으로 적용하고 있는데 한번씩 그림이 이상하게 나와 가지고....



그럼 부탁드립니다. 다음에 또





2  COMMENTS
  • Profile
    황하성 2000.06.07 22:35
    손규만 wrote:

    > 안녕하세요.

    >

    > 델파이에서 원을 그리고 싶은데 어떻게 해야하지요.

    >

    > 반경(R)과 원호의 시작점(SP)과 끝점(EP)을 알고 있는데요. 물론 중심(X,Y)도 알고 있고요.

    > 아시는분 꼭 답변부탁드립니다. 지금은 이상한 방법으로 적용하고 있는데 한번씩 그림이 이상하게 나와 가지고....

    >

    > 그럼 부탁드립니다. 다음에 또

    >

    >



    TCanvas.Ellipse를 함 써보세요.



    Draws the ellipse defined by a bounding rectangle on the canvas.



    procedure Ellipse(X1, Y1, X2, Y2: Integer);



    Description



    Call Ellipse to draw a circle or ellipse on the canvas. The top left point of the bounding rectangle is at pixel coordinates (X1, Y1) and the bottom right point is at (X2, Y2). If the points of the rectangle form a square, a circle is drawn.



    The ellipse is outlined using the value of Pen, and filled using the value of Brush.



    Note: On Windows 95, the sums X1 + X2 and Y1 + Y2 cannot exceed 32768. Also, the sum X1 + X2 + Y1 + Y2 cannot exceed 32768.



    반경과 시작점, 끝점을 알고 있다면 이 방식이 젤 변할 것 같은디...쩝... 도움이 되었기를...

  • Profile
    이영수 2000.06.07 08:19
    손규만 wrote:

    > 안녕하세요.

    >

    > 델파이에서 원을 그리고 싶은데 어떻게 해야하지요.

    >

    > 반경(R)과 원호의 시작점(SP)과 끝점(EP)을 알고 있는데요. 물론 중심(X,Y)도 알고 있고요.

    > 아시는분 꼭 답변부탁드립니다. 지금은 이상한 방법으로 적용하고 있는데 한번씩 그림이 이상하게 나와 가지고....

    >

    > 그럼 부탁드립니다. 다음에 또

    >

    >





    이건 여덕수 님의 글을 인용한겁니당.



    dx := r * cos(th) + px;

    dy := r * sin(th) + py;



    procedure TDraw.DrawCircle(px,py,r : double);

    var

    th,step,dx1,dy1,dx2,dy2 : double;

    ix1,iy1,ix2,iy2 : Integer;

    begin

    th := 0;

    step := pi / 16;



    Repeat

    dx1 := r * cos(th) + px;

    dy1 := r * sin(th) + py;

    th := th + Step;

    dx2 := r * cos(th) + px;

    dy2 := r * sin(th) + py;

    PaperToCrt(dx1,dy2,ix1,iy1);

    PaperToCtr(dx2,dx2,ix2,iy2);

    MainForm.DrawPaintBox.Canvas.MoveTo(ix1,iy1);

    MainForm.DrawPaintBox.Canvas.MoveTo(ix2,iy2);

    Until th >= pi * 2

    end;



    th 를 0 ~ 360 까지 15도씩 증가시켜서 원을 그리는 함수.

    델에서 삼각함수는 라디안을 쓰기에 pi 를 이용했구요.



    마구잡이 원을 그린다.

    procedure TDraw.RandomCircle;

    var

    iCount : Integer;

    begin

    Randomize;

    for iCount := 1 to 10 do

    DrawCircle(Rand(20)-10,Rand(20)-10,Rand(20));

    end;



    행복하세요..





    end;

    • 최석기
      2000.06.07 20:57
      사발우성 wrote: > > 음.... 파라독스의 카운트속성에 대한 질문임당....[+] > 요넘은 왜 (why) 레코...
    • 사발우성
      2000.06.07 21:12
      최석기님 감솨... 그런디 넘어렵땅... 조금더 쉽게 글구 전 영어가 짧아서리..... ㅜ.ㅜ HELP 도움말두 ...
    • 최석기
      2000.06.08 04:55
      델파이 헬프에 있는 예제 그대로 올리는 거예요.. 그리고 소스를 직접 구하시는 것보다도 님이 직접 헬...
    • parkisu
      2000.06.07 22:58
      사발우성 wrote: > 최석기님 감솨... 그런디 넘어렵땅... > > 조금더 쉽게 글구 전 영어가 짧아서리......
    • 최용일
      2000.06.07 21:14
      안녕하세요. 최용일입니다. 이런 것은 스플래쉬폼을 만들때처럼 프로젝트파일에서 하는 것이 좋은 방법...
    • 이재식
      2000.06.08 02:18
      머리나쁜얀 wrote: > BDE 와 sqllink도 설치하구 알리아스도 이상없구여 > 서버측의 ms-sql을 사용하는데...
    • 초보
    • 2000.06.07 19:56
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최석기
      2000.06.07 20:52
      초보 wrote: > 데이타 입력시 다음과 같은 에러가 나면서 입력이 안 됩니다. > > 'Dataset not in edit...
    • 초생
    • 2000.06.07 19:17
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 사발우성
      2000.06.07 19:20
      초생 wrote: > 자꾸질문만 하네요. > dblookupcombobox에서 lookupfild에 임의로 item을 추가하는 방법이...
    • 초보자
    • 2000.06.07 18:46
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 2000.06.07 18:51
      초보자 wrote: > 급하게 질문드립니다. > 파라독스 DB를 MSSQL로 전환 하려면 어떤 방법이 있는지요? > ...
    • 박충국
    • 2000.06.07 18:07
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 2000.06.07 18:49
      박충국 wrote: > 안녕하십니까..!~~ > 다들 이 더운와중에도 줄프하시니라 수고가 많으십니다..!~~ > 다...
    • 강인규
      2000.06.07 18:07
      김영대님이 작성하신 자료입니다...... procedure TForm1.Button1Click(Sender: TObject); var Addr...
    • 갱수
      2000.06.07 18:36
      박대규 wrote: > 안녕하세요.. 델파이를 사랑하시는 여러분들.. > > 다름이 아니라 다음의 내용이 궁금...
    • 박대규
      2000.06.08 04:10
      경수님 제가 원하는 답은 어느포트를 사용하는지 알고싶은게 아니라 프로그램에서 사용할수 있는 포트를...
    • 김상호
      2000.06.10 05:14
      박대규 wrote: > 경수님 제가 원하는 답은 어느포트를 사용하는지 알고싶은게 아니라 > > 프로그램에서...
    • 김성관
    • 2000.06.07 12:33
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이경문
      2000.06.09 09:58
      아래로 들어와 보세요 http://210.216.14.148
    • 양병규
      2000.06.07 19:53
      IP Edit는 마스크에디터로 구현 할수 있지만... 커먼콘트롤이 있으니 사용해 보시는것도 좋을것같습니다...
    • 한현정
      2000.06.07 18:37
      Mask Edit의 옵션을 바꿔주면 Mask Edit를 그대로 쓸수 있습니다. EditMask properties의 Character for B...
    • 조운
    • 2000.06.07 09:32
    • 0 COMMENTS
    • /
    • 0 LIKES
    • parkisu
    • 2000.06.07 06:09
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 2000.06.07 18:41
      parkisu wrote: > 별도의 폼하나를 키보드 형태로 만들고 버튼을 누르면 현재 활성화 되어있는 폼의 컨트...
    • nilriri
      2000.06.07 22:30
      컨트롤명.HANDLE;하면 됩니다. [델파이] wrote: > > 저기요 윈도우(FORM) 핸들은 어떻게 알아내져...
    • heimdal
    • 2000.06.07 03:24
    • 3 COMMENTS
    • /
    • 0 LIKES
    • yosul
      2000.06.07 03:52
      아~ 이거여~ Window 제어판에 가셔서 "국가별 설정" 에 가시면 "날짜"부분에 고치는것이 있습니다. 4자...
    • heimdal
      2000.06.07 04:27
      감사합니다...날짜형식은 고쳐서 원하는데로 나왔는데.. 시간은 어떻게 입력해야할지.. 제어판에 들...
    • parkisu
      2000.06.07 06:11
      heimdal wrote: > 감사합니다...날짜형식은 고쳐서 원하는데로 나왔는데.. > > 시간은 어떻게 입력해야...
    • 맹주형
    • 2000.06.07 03:15
    • 1 COMMENTS
    • /
    • 0 LIKES
    • Mr.Q
      2000.06.07 08:53
      맹주형 wrote: > 숫자로 123이라는 값이 20자리의 필드로 되어있을때 > 출력은 00000000000000000123으로...
    • 손규만
    • 2000.06.07 02:25
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 황하성
      2000.06.07 22:35
      손규만 wrote: > 안녕하세요. > > 델파이에서 원을 그리고 싶은데 어떻게 해야하지요. > > 반경(R)...
    • 이영수
      2000.06.07 08:19
      손규만 wrote: > 안녕하세요. > > 델파이에서 원을 그리고 싶은데 어떻게 해야하지요. > > 반경(R)...