当前位置:网站首页>WPF personal summary on drawing
WPF personal summary on drawing
2020-11-07 20:58:00 【Irving the procedural ape】
The contents are all personal summaries .
If there is a mistake, please let me know , And forgive me a lot .
In general, the drawing is divided into two areas , One is shape , Second, pixel filling .
Shape is drawing rectangles , circular , Complex combination shapes .
Pixel filling, such as image filling , But more bitmap operations , It's also possible to draw shapes , However, the filling algorithm for the shape is relatively difficult , It needs to be calculated independently .
stay WPF in , Corresponding to divided into control drawing , Bitmap operation .
I don't repeat the simple drawing too much , Usually the general difficulty , It's complexity mapping , Large scale drawing, etc .
In general? , There is a plan for drawing with shapes
1 Direct overloading OnRender Method and use it inside DrawingContext Draw
2 Hijack host control , And create inheritance DrawingVisual Control , And use RenderOpen Method to draw
3 Use GDI+ Draw and match Bitmap After use DrawingContext After line drawing
Usually , Method 1, Maybe the range of use is too small , Method 3 The effect is good , But it doesn't work well when you zoom in .
So let's focus on the method 2
The method is simple to use , Mainly the method of drawing inside .
The best way is to use DrawGeometry.
But the problem is to submit the corresponding contents of multiple control drawings ? Or the interior is drawn multiple times after one submission ?
for instance , The rectangle I sent before , Using multiple submissions , Submit a small amount of drawing at a time , When a lot of content is drawn, it means a lot of submission , A lot of drawing , Although a single drawing is fast and basic 0.2 millisecond , But it doesn't hold up , That's what makes it stuck .
So the right way to do this is to have a small amount of .........
版权声明
本文为[Irving the procedural ape]所创,转载请带上原文链接,感谢
边栏推荐
- 微服务的出现和意义的探索
- [random talk] the goal and way of software design
- Ubuntu下搜狗输入法的下载安装及配置
- A detailed explanation of microservice architecture
- Deep into web workers (1)
- 是时候结束 BERTology了
- Data transmission of asynchronous serial communication controlled by group bus communication
- websocket+probuf.原理篇
- How to think in the way of computer
- Design pattern of facade and mediator
猜你喜欢
Analysis of kubernetes service types: from concept to practice
What do you think of the most controversial programming ideas?
编程界大佬教你:一行Python代码能做出哪些神奇的事情?
delphi10的rest.json与system.json的踩坑
WPF 关于绘图个人总结
The CPU does this without the memory
【原创】ARM平台内存和cache对xenomai实时性的影响
Improvement of maintenance mode of laravel8 update
工作1-3年的程序员,应该具备怎么样的技术能力?该如何提升?
构造请求日志分析系统
随机推荐
Python 图片识别 OCR
ngnix集群高并发
IDEA-项目未自动生成 .iml 文件
虚拟DOM中给同一层级的元素设置固定且唯一的key为什么能提高性能
使用 Xunit.DependencyInjection 改造测试项目
graph generation model
聊聊Go代码覆盖率技术与最佳实践
Improvement of maintenance mode of laravel8 update
Web安全(二)---跨域资源共享
Kubernetes服务类型浅析:从概念到实践
统计文本中字母的频次(不区分大小写)
Cpp(二) 创建Cpp工程
汇编函数mcall systemstack asmcgocall syscall
How to think in the way of computer
Git代码提交操作,以及git push提示failed to push some refs'XXX'
Writing method of field and field comparison condition in where condition in thinkphpp6
【解决方案】分布式定时任务解决方案
【C++学习笔记】C++ 标准库 std::thread 的简单使用,一文搞定还不简单?
留给快手的时间不多了
[original] the influence of arm platform memory and cache on the real-time performance of xenomai