WPF Q&A

canvas에 타원을 그리는 가장 빠른방법이 궁급합니다. Mines 평점: 없음 조회: 129


적게는 6만, 많게는 15만개 정도의 작은 원을 Canvas에 그려야 하는데,

1초~3초내로 처리하고 싶습니다.

좋은 방법없을까요 ㅜ

Ellipse나, Geometry로는 안되는 거같아서 질문올렸습니다.

감사합니다 ㅜ

태그 : C# WPF
작성자 정보
Mines
Level 4
 [EXP.15/16]

메일:  비공개
글등록 +12 36 덧글등록 +3 3
자기소개
My name is
글 공유하기 |
  tweet facebook
2018-05-30 오후 4:33:16
나도한마디
사용자
스포너            [2018-05-30]
Level 22
 [EXP.45/50]
DrawingVisual를 쓰면 그나마 15만개의 원을 3초 안에 그릴 수 있습니다.

public class UserCanvas : Canvas
{
private VisualCollection children;

public UserCanvas()
{
children = new VisualCollection(this);
children.Add(CreateDrawingVisualCircle());
}

private DrawingVisual CreateDrawingVisualCircle()
{
var drawingVisual = new DrawingVisual();
var dc = drawingVisual.RenderOpen();

var random = new Random();
for (var i = 0; i < 150000; i++)
dc.DrawEllipse(Brushes.LightBlue, null, new Point(random.Next(1920), random.Next(1080)), 3, 3);
dc.Close();

return drawingVisual;
}

protected override int VisualChildrenCount
{
get { return children.Count; }
}

protected override Visual GetVisualChild(int index)
{
if (index < 0 || index >= children.Count)
{
throw new ArgumentOutOfRangeException();
}

return children[index];
}
}
사용자
Mines            [2018-05-31]
Level 4
 [EXP.15/16]
아 질문이 Dilsplay까지였습니다 ㅜ 그리는것뿐만아니라 Display까지..

일단 감사합니다!
사용자
스포너            [2018-05-31]
Level 22
 [EXP.45/50]
실행해보세요
사용자
스포너            [2018-05-30]
Level 22
 [EXP.45/50]
OpenTK를 사용하면 좀 더 빠르게 표현 가능할 것 같습니다.

http://steveharoz.com/wpfopentk/

위 주소에 라이브러리를 다운로드 할 수 있고, 데모가 포함되어 있습니다
태그로 엮인글
[구인&교육정보] [ 기흥 / 즉시 ] C# 생산관리 업무시스템 [ 개발 / 중급 ]   한국정보데이터시스
[구인&교육정보] [ 천안 수원 / 즉시 ] C# 제조관리 업무시스템 [ 운영 / 초-중급 ]   한국정보데이터시스
[ASP.NET Q&A] asp.net mvc5 특정 조건으로 업데이트하는 방법 좀   괴물
[C#.NET Q&A] MDSN 어떻게 활용하면 좋을까요? [2]+2  홍모죽
[구인&교육정보] 응용 프로그램 개발 해드립니다.  나미남이지
[WPF Q&A] c# viewModel에서 윈도우 참조질문입니다.[7]+1  이기현
[C#.NET Q&A] 윈폼 패널 투명처리 질문입니다.[1]+1  오마르
[구인&교육정보] AST.NET개발자 모십니다  장자방
[C#.NET Q&A] 윈폼에서 랜덤데이터셋 질문드립니다.[2] 파일첨부 당사지로
[ASP.NET Q&A] c# 정규식  구니구니
글리스트
c# viewModel에서 윈도우 참조질문입니다.[7]+1  이기현
사용자 정의 콘트롤의 DependencyProperty 작동이 잘 안됩니다..[2]+1 파일첨부 비가와요
코드 복사했는데 디자인이 다르네요? ( 파일, 이미지 있음 )[1]+1 파일첨부 insurang
TextBox 의 ToolTip 을 Binding 하는경우 Null 처리는 어떻게 하나요?[1]+2  비가와요
 ★현재글->   canvas에 타원을 그리는 가장 빠른방법이 궁급합니다.[2]+2  Mines
버튼 템플릿으로 들어간 객체이름을 어떻게 특정하면 되나요?[1]+1  insurang
WPF Grid 또는 DockPanel 사이즈 변경시 TextBlock Wrap하기[3]+2  한님맨
canvas에 10개의 사각형을 add 했는데 2번째 사각형을 제일 위로 보이게 하고 싶습니다.[1]+1 
멀티 터치 가능한 수가 몇개인지 어떻게 알 수 있나요?  insurang
WPF에서는 바탕화면 캡처가 어렵네요.[2]  insurang
canvas 에 add한 객체를 지우는 방법을 문의드립니다.[1]  파랑삶
자 눈금선 숫자표기 궁금합니다.[2]+2  방랑이z
WebBrowser에서 새창을 띄웠을때 세션연동[1]  넬류어드
코드 줄이는 방법?[3]  왕초보자
MouseDown 원래 반응이 없나요?[2]+2  insurang