나는이 사이트에서 오랫동안 배우고있다. 그러나 이것은 나의 첫 번째 질문인데, 나는 토목 기사이다. 나는 벽을 지탱할 디자인을위한 소프트웨어를 쓰고있다. 아래에 표시된 그림을 정적 또는 동적으로 그리십시오. (동적 인 경우, 숫자가 상하로 된 도구를 통해 그래프의 크기를 변경할 수 있으며 변경 사항은 그래프에서 볼 수 있습니다.) 이들은 준비된 형식이어야합니다 사용자가 강하를 입력하는 데 도움이됩니다. 내가 이것을 배울 소스를 찾을 수 있습니까? 는 내가 너무 ..thank 당신이 너무 여기에정적 그래프 나 동적 그래프를 그리는 방법?
답변
초보자 나를 생각, 내가 좋은 아니에요, 그 프로그래밍을 전공하지 않습니다 유의하시기 바랍니다 프로그래밍에서 가장 똑똑한 사람들과 거래 할 수있다 알 도면에 프로그램을 추가하는 데 필요한 것들에 대한 간단한 소개입니다.
0 - 플랫폼을 결정하십시오 : Winforms
또는 WPF
? 너의 종류의 그래픽을 WinForms
할 것이다; 3D 및 애니메이션 WFP
은 더 나은 선택이지만 가파른 학습 곡선을 희생해야합니다.
1 - 윈폼의 기본 그래픽 모델 이해 : 제어에 그려
모든 것이 이
paint event
에 그려야합니다 또는 거기에서 트리거를윈도우 소요됩니다 외부 사건이있을 때마다 그림을 상쾌하게하는 것 그것을 덮었다.
사용자는 데이터를 변경할 때마다 컨트롤을 무효화하여 페인트 이벤트를 트리거 할 수 있어야합니다.
sketchPanel.Invalidate();
과 함께 새로 고침 버튼을 코드로 추가하십시오.
2 - 당신이 원하는대로 형태와 anchor
또는 dock
그것에에 그리는 컨트롤을 추가합니다. 에 그리기위한 panel
를 사용하여 그것에게 좋은 이름을, sketchPanel 말을하고 (창 이벤트 속성에서 doubleclicking에 의해)
3의 Paint
이벤트를 만들 - 모든 그리기 작업은 Graphics
개체에서 발생합니다. Paint
이벤트에서는 e.Graphics
으로 제공됩니다. drawMyWall (그래픽 G)과 같이 자신 만의 기능을 그리는 경우 Paint 이벤트에서 호출하고 e.Graphics 객체를 전달할 수 있습니다.
4 - 방법은 사용하는 측정을 작성하기위한 만드는 라인
DrawString
DrawLine
는 컬러 벽이나 땅이나 물을 몸DrawPolygon
에 대한 그리기 위해FillPolygon
레이블입니다 벽의 윤곽 그리기
모두는 스케치 패널에 상대적인 픽셀 단위로 좌표를 취합니다; 귀하의 사용자 입력이 미터 또는 밀리미터 단위로 표시되기 때문에 숫자로 변환해야합니다. 외벽 치수를 계산하고 패널의 크기에 맞게 조정하십시오!
Draw-/FillPloygon 메서드는 array of Points
을 기대합니다.
는 먼저 List<Point> wallpoints = new List<Point>();
선언하고 필요한 각 포인트 추가해야를 만드는 방법 (CW 또는 CCW) 모두 순서 따라야 여기 wallpoints.Add(new Point(someX, someY));
및 좌표 각 입력 측정들로부터 계산되어야 각 포인트. 간단한 중력 벽에는 4 포인트 만 있지만 더 복잡한 벽에는 12 개 이상의 벽이 있습니다.
목록이 완성되면 예를 들어에서 사용할 수 있습니다. 다음과 같은 FillPolygon 방법 :
e.Graphics.FillPolygon(Brushes.Orange, wallpoints.ToArray());
입력 측정 값으로부터 모든 점을 계산하므로 도면이 완전히 동적입니다.
처음에는 레이블 등을 생략 할 수 있습니다. 또한 패널에서 좀 더 중앙에 배치 된 위치로 도면을 이동하기 위해 계산 한 점에 간격 띄우기를 추가 할 수 있습니다.
내가 도움이 되었기를 바랍니다.
죄송합니다, 나는이 모든 것에 동의하지 않습니다. OP에서 보여지는 이미지는 CAD와 유사한 3D 그래픽을 보여 주며 winforms (전혀 쓸모없는)이나 WPF (이것에 필요한 고성능 3D 기능을 제공하지 않음)는이 용도에 적합합니다. 이것은 순수한 하드 코어 C++ 및 DirectX 또는 OpenGL을 사용하여 실제로 수행되어야합니다. –
이것은 (모든) 주석을 읽지 않았기 때문입니다. 내 첫 번째 (!)부터 시작하여 가운데 하단의 이미지가 충분히 좋은 것으로 동의 한 이미지부터 시작합니다. WinForms에서이 작업을 수행 할 수 없다면, 죄송합니다. 나는 할 수있다. 심지어 C++에 대해서도 우스운 이야기를한다. – TaW
"Winforms에서이 작업을 수행 할 수 없다면"- winforms는 하드웨어 가속 부족으로 인해 깜박임을 많이 보지 않고도 가장 기본적인 드로잉을 수행 할 수 없습니다. 해상도 독립성 및 자동 조정 레이아웃 만 보자. 난 정말 당신의 winforms 버전을보고 싶습니다. –
- 1. Android에서 동적 선 그래프를 그리는 방법은 무엇입니까?
- 2. HTML/Javascript : 동적 그래프를 그리는 방법
- 3. Windowphone에서 함수 그래프를 그리는 방법
- 4. asp.net 2.0에서 그래프를 그리는 방법
- 5. d3.js를 사용하여 json 파일에서 동적 그래프를 그리는 방법
- 6. 안드로이드에 막대 그래프를 그리는 방법
- 7. 하이퍼 그래프를 그리는 방법?
- 8. gtk3에서 그래프를 그리는 방법
- 9. 안드로이드에 그래프를 그리는 방법?
- 10. Android 캔버스에서 수학 함수 그래프를 그리는 방법
- 11. Mediawiki에서 동적 그래프를 만드는 방법
- 12. 모션으로 파이썬에서 그래프를 그리는 방법
- 13. R에 막대 그래프를 그리는 방법?
- 14. 파이썬을 사용하여 그래프를 그리는 방법
- 15. 맞춤 축으로 그래프를 그리는 방법
- 16. d3 wpf에서 다른 색으로 그래프를 그리는 방법
- 17. Eclipse에서 Jfreechart를 사용하여 실시간/동적 값 그래프를 그리는 방법
- 18. Quartz Framework를 사용하여 그래프 그리는 방법
- 19. Excel 2013에서 스플라인 그래프 그리는 방법
- 20. 동적 그래프 그리기
- 21. 자바 웹 응용 프로그램의 PDF 보고서에 그래프를 그리는 방법
- 22. bipartite 그래프를 그리는 도구 또는 라이브러리?
- 23. CALayer에서 그래프를 한 줄씩 효율적으로 그리는 방법
- 24. Three.js로 그래프를 그리는 가장 좋은 방법
- 25. 그래프에서 ggplot을 사용하여 그래프를 그리는 방법
- 26. ROR 웹 앱에서 차트/그래프를 그리는 방법
- 27. 멀티 컬러 라인으로 그래프를 그리는 방법
- 28. 가장자리 길이를 고려하여 R에서 그래프를 그리는 방법
- 29. 소셜 네트워킹 그래프를 그리는 방법은 무엇입니까?
- 30. matlab에서 트리 레이아웃으로 그래프를 그리는 방법은 무엇입니까?
IT에 오래된 qustion가 있습니다. Make 또는 Buy? 이를위한 도구가 있으며 사용법을 배우는 것은 그 자체로 힘든 일입니다. 그것들을 쓰는 것은 초보자는 말할 것도없고, 한사람을위한 것이 아닙니다. – TaW
태권도, 먼저 관심과 회신에 감사 드리며, 내가 무엇을하라고 조언합니까? , 어떻게해야합니까? 이 모양을 얻고 내 소프트웨어에 그림을 그리기 위해서? –
지금까지 귀하의 프로그램이하는 일을 조금 말해주십시오! – TaW