WPF-2D图形(一)
WPF可以使用矢量图,可以完美的缩放位任何尺寸。
WPF绘图的主要特点在于它是一种保留模式(retained-mode)的图形系统,不是立即模式(immdediate-mode)的图形系统。
这两中显示系统有啥差异呢。立即模式把整个界面当一个整体,改变局部其实是整个界面重绘。其他的不明白!
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
创建和使用二维图形,有3中数据可以使用:Drawing、Visual、Shape。
这三种的区别和差异:
Drawing描述了填充相关联的路径、形状、轮廓Brush。
Visual:把Drawing画到屏幕中的一种方式;也提供了完全摆脱Drawing对象的底层轻量级实现。
Shape:预制的Visual,画自定义工艺图最简单,最重量级的方法。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
先介绍Drawing
Drawing是抽象类,代表了二维图画。使用的主要是Drawing的子类。子类如下:
1、GeometryDrawing
包括了Grawing类,Brush类,Pen类。
最基本的Drawing。
2、ImageDrawing
包括ImageSource类,定义边界的Rect类。ImageSource可以使用GeometryDrawing。
3、VideoDrawing
包括MediaPlayer类,定义近边界的Rect类。
4、GlyphRunDrawing
包括GlyphRun类,低级别文本类,绘制前景色的Brush。
5、DrawingGroup
包括一组Drawing的集合类,
Drawing类不是UIElement。想让Drawing绘制图像,需要宿主对象。
1、DrawingImage
2、DrawingBrush
3、DrawingVisual
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
举个例子
<Image> <Image.Source> <DrawingImage> <DrawingImage.Drawing> <GeometryDrawing Brush="Orange"> <GeometryDrawing.Pen> <Pen Brush="Black" Thickness="10"></Pen> </GeometryDrawing.Pen> <GeometryDrawing.Geometry> <EllipseGeometry RadiusX="100" RadiusY="50"></EllipseGeometry> </GeometryDrawing.Geometry> </GeometryDrawing> </DrawingImage.Drawing> </DrawingImage> </Image.Source>
</Image>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】