版本: Unity 6 (6000.0)
语言English
  • C#

Painter2D

UnityEngine.UIElements 中的类

/

实现于:UnityEngine.UIElementsModule

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户提出的每个建议更改,并在适用时进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

描述

绘制 2D 矢量图形的对象。

以下示例演示了如何使用 Painter2D 类在 VisualElement 中使用 VisualElement.generateVisualContent 回调绘制内容。您还可以创建一个独立的 Painter2D.Painter2D 对象以绘制离屏内容,并使用 Painter2D.SaveToVectorImage 方法将绘图内容保存到 VectorImage 资源中。

 using UnityEngine;
 using UnityEngine.UIElements;

[RequireComponent(typeof(UIDocument))] public class Painter2DExample : MonoBehaviour { public void OnEnable() { var doc = GetComponent<UIDocument>(); doc.rootVisualElement.generateVisualContent += Draw; }

void Draw(MeshGenerationContext ctx) { var painter = ctx.painter2D; painter.lineWidth = 10.0f; painter.lineCap = LineCap.Round; painter.strokeGradient = new Gradient() { colorKeys = new GradientColorKey[] { new GradientColorKey() { color = Color.red, time = 0.0f }, new GradientColorKey() { color = Color.blue, time = 1.0f } } }; painter.BeginPath(); painter.MoveTo(new Vector2(10, 10)); painter.BezierCurveTo(new Vector2(100, 100), new Vector2(200, 0), new Vector2(300, 100)); painter.Stroke(); } }

属性

fillColor使用 Fill 时填充路径的颜色。
lineCap使用 Stroke 绘制路径时使用的端点样式。
lineJoin使用 Stroke 绘制路径时使用的连接样式。
lineWidth使用 Stroke 绘制路径时的线宽。
miterLimit使用 LineJoin.Miter 连接时,这定义了斜接长度与笔画宽度之比的限制,在超过此限制时将斜接转换为斜角。
strokeColor使用 Stroke 绘制路径时的颜色。
strokeGradient使用 Stroke 时使用的笔画渐变。

构造函数

Painter2D初始化 Painter2D 的实例。

公共方法

Arc向当前子路径添加一条弧线到指定位置、半径和角度。
ArcTo使用控制点向当前子路径添加一条弧线到指定位置。
BeginPath开始一条新路径并清空已记录的子路径列表。
BezierCurveTo使用两个控制点向当前子路径添加一条三次贝塞尔曲线到指定位置。
Clear当作为分离的绘图器创建时,清除当前内容。否则不执行任何操作。
ClosePath使用直线关闭当前子路径。如果子路径已关闭,则不执行任何操作。
Dispose释放 Painter2D 对象并释放其内部非托管资源。
Fill填充当前定义的路径。
LineTo向当前子路径添加一条直线到指定位置。
MoveTo在提供的坐标处开始一个新的子路径。
QuadraticCurveTo使用一个控制点向当前子路径添加一条二次贝塞尔曲线到指定位置。
SaveToVectorImage将此 Painter2D 的内容保存到 VectorImage 对象中。
Stroke描边当前定义的路径。