当前位置:网站首页>WPF 关于绘图个人总结
WPF 关于绘图个人总结
2020-11-07 20:58:00 【程序猿欧文】
内容均为个人总结。
如果错误请告知,并多多见谅。
总的来说绘图是分为两个范围,一是形状,二是像素填充。
形状也就是绘制矩形,圆形,复杂组合形状。
像素填充例如图像填充,但更多是位图操作,同样也是可以绘制形状,不过对于形状的填充算法相对很难,是需要独立进行计算。
在WPF中,对应着分为控件绘图,位图操作。
对于简单的绘图我也不多加复述,通常一般的难点,也就是复杂性绘图,大规模绘图等。
一般呢,对于有形状绘图有一下方案
1 直接重载OnRender方法并在内使用DrawingContext进行绘图
2 劫持承载控件,并创建继承DrawingVisual控件,并使用RenderOpen方法进行绘制
3 使用GDI+绘图并配合Bitmap后使用DrawingContext后经行绘图
通常,方法1,可能使用范围过小,方法3呢效果不错,但是放大后效果不好。
所以我们重点说一下方法2
使用方法很简单,主要是里面绘制的方法。
最好的办法就是使用DrawGeometry。
但是问题是是提交多个控件绘图对应内容呢? 还是提交一次后内部多次绘制呢?
举例来说,我之前发的矩形格子,使用的是多次提交,每次提交少量绘制,当绘制大量内容后意味大量提交,大量绘制,虽然单次绘图很快基本0.2毫秒,但架不住多啊,也就造成卡顿。
所以正确的方法应该是少量.........
版权声明
本文为[程序猿欧文]所创,转载请带上原文链接,感谢
https://my.oschina.net/mikeowen/blog/4707704
边栏推荐
- How to learn technology efficiently
- 全网最硬核讲解计算机启动流程
- 栈-括号的匹配
- The JS solution cannot be executed after Ajax loads HTML
- Kylin on kubernetes' practice on eBay
- awk实现类sql的join操作
- CPU瞒着内存竟干出这种事
- The samesite problem of cross domain cookie of Chrome browser results in abnormal access to iframe embedded pages
- Code Review最佳实践
- Let you have a deep understanding of gitlab CI / CD principle and process
猜你喜欢
[graffiti footprints of Internet of things] mainstream communication mode of Internet of things
【C++学习笔记】C++ 标准库 std::thread 的简单使用,一文搞定还不简单?
DOM节点操作
带你深入了解 GitLab CI/CD 原理及流程
MongoDB下,启动服务时,出现“服务没有响应控制功能”解决方法
C language I blog assignment 03
年薪90万程序员不如月入3800公务员?安稳与高收入,到底如何选择?
深入web workers (上)
HandlerMethodArgumentResolver使用和原理
The JS solution cannot be executed after Ajax loads HTML
随机推荐
AFO记
What magic things can a line of Python code do?
static+代码块+多态+异常
阿里terway源码分析
编程界大佬教你:一行Python代码能做出哪些神奇的事情?
Improvement of maintenance mode of laravel8 update
When tidb and Flink are combined: efficient and easy to use real-time data warehouse
Huawei HCIA notes
On the coverage technology and best practice of go code
大数据算法——布隆过滤器
你可能不知道的Animation动画技巧与细节
模型预测准确率高达94%!利用机器学习完美解决2000亿美元库存难题
Business facade and business rule
[original] the influence of arm platform memory and cache on the real-time performance of xenomai
Code Review最佳实践
Implementation of Caesar cipher
从技术谈到管理,把系统优化的技术用到企业管理
How Facebook open source framework simplifies pytorch experiment
30岁后,你还剩下什么?
低代码 vs 模型驱动,它们之间到底是什么关系?