SuperAPI AI 工具集

rendering-mewui-elements

前端与建站

查看项目

更新于 10-15 20:12

技能介绍

用途:在 MewUI 自定义控件中实现自绘图形,适用于需要重写 OnRender、绘制形状/文本/图像,或理解渲染管线的场景。

渲染管线:MewUI 采用三阶段布局——Measure(计算 DesiredSize)→ Arrange(设置 Bounds)→ Render(通过 IGraphicsContext 绘制)。自定义控件可重写 MeasureContent(Size availableSize) 返回期望尺寸、ArrangeContent(Rect bounds) 定位子元素、OnRender(IGraphicsContext context) 绘制视觉内容。

IGraphicsContext 要点:绘制前用 context.Save() 保存状态,配合 Translate、SetClip 等变换,结束后必须 context.Restore()。可用 FillRectangle、DrawRectangle、FillRoundedRectangle、DrawLine、FillEllipse 绘制基本图形;DrawText 参数顺序为 text、bounds、font、color、对齐方式、换行方式;DrawImage 用于绘制图像。

文本测量:在 MeasureContent 中通过 GetGraphicsFactory() 创建测量上下文,factory.CreateMeasurementContext(GetDpi()) 的 dpi 为 uint(如 96、144),再调用 ctx.MeasureText(Text, GetFont(), availableSize.Width)。

图形后端:可通过 Application.DefaultGraphicsBackend 设置 GraphicsBackend.Direct2D(Windows GPU)、GraphicsBackend.Gdi(Windows 软件渲染)或 GraphicsBackend.OpenGL(跨平台)。

失效重绘:InvalidateMeasure() 触发重新测量、排列与渲染;InvalidateArrange() 触发重新排列与渲染;InvalidateVisual() 仅重新渲染。

限制:资料未提供具体平台兼容性、性能数据、版本要求或完整 API 列表,详细 API 与管线细节需参考随附的 graphics-api.md 与 pipeline.md。