包含此页的版本:
不含此页的版本:
使用 Image 元素将图形资产添加到应用程序。它是一款多功能且功能强大的工具,用于在 UI 中显示视觉内容,例如图像库、产品列表、渲染预览和用户配置文件。
你可以在UI Builder、UXML或C#中创建Image元素。
以下示例在UXML中创建Image元素:
<ui:UXML xmlns:ui="UnityEngine.UIElements" >
<ui:Image source="Resources/sample-image.png" scale-mode="StretchToFill" tint-color="rgb(49, 49, 49)"/>
</ui:UXML>
以下示例在 C# 中创建 Image 元素:
var image = new Image();
image.image = Resources.Load<Texture2D>("sample-image");
// Alternative if using sprites.
// image.sprite = Resources.Load<Sprite>("sample-sprite");
image.scaleMode = ScaleMode.StretchToFill;
image.tintColor = Color.white;
VisualElement.style.backgroundImage
您可以同时使用 Image 元素和VisualElement.style.backgroundImage属性以将视觉内容添加到 UI。两者之间的选择取决于您的应用程序的具体用途和要求。
Image 元素通常用于在 UI 的特定区域(例如图像库或头像用于将动画从一个绑定重定向到另一个绑定的界面。更多信息
请参阅术语表在用户配置文件中。它提供了对图像外观的更细粒度的控制,包括调整大小、缩放和裁剪的选项。如果希望图像的大小驱动布局中元素的大小,请使用图像。您还可以向 Image 元素添加其他元素以创建叠加层或添加交互性。但是,出于性能原因,如果使用许多 Image 实例,请指定固定的宽度和高度。
这VisualElement.style.backgroundImage属性用于将图像设置为 UI 元素的背景。当您想要在不减损 UI 的主要内容或功能的情况下为元素添加视觉趣味时,这非常有用。这VisualElement.style.backgroundImage属性还允许使用 USS 更改许多不同元素的源图像的便利性。
通常,当您需要更好地控制图像的外观和布局时,建议使用 Image 元素;并使用VisualElement.style.backgroundImage属性,如果您只想将背景图像添加到 UI 元素。但是,这两种方法都是有效的,如有必要,您可以在同一 UI 中一起使用它们。
注意:
style.backgroundImage财产。如果 Image 元素设置了图像源并且不透明,则背景图像将不可见。VisualElement类。您可以设置外观样式、定义行为并将其作为 UI 的一部分显示在屏幕上。更多信息
C# 类:Image
命名空间:UnityEngine.UIElements
基类:VisualElement
此元素具有以下成员属性:
| 名字 | 类型 | 描述 |
|---|---|---|
scale-mode |
ScaleMode |
ScaleMode 用于显示图像。 |
tint-color |
Color |
此图像的着色颜色。 |
uv |
Rect |
图像相对于左下角的基础纹理坐标。 |
此元素从其基类继承以下属性:
| 名字 | 类型 | 描述 |
|---|---|---|
focusable |
boolean |
如果为 false,则阻止对元素进行聚焦。 仅当元素的 canGrabFocus 属性为 true 时,才能对元素进行聚焦。 |
tabindex |
int |
用于对焦点环中的可聚焦元素进行排序的整数。必须大于或等于零。 将 tabIndex值小于0(例如,−1) 从焦点环和选项卡导航中删除元素。 |
此元素还继承了以下属性VisualElement:
| 名字 | 类型 | 描述 |
|---|---|---|
content-container |
string |
添加子元素的逻辑容器。如果将子元素添加到此元素,则将子元素添加到该元素的内容容器中。 当迭代 VisualElement.Children元素的元素,则使用元素的内容容器层次结构而不是元素本身。这可能会导致意外结果,例如,如果元素不直接位于内容容器的层次结构中,则导航事件会忽略元素。 指IFocusRing了解更多信息。如果内容容器与元素本身相同,则子元素将直接添加到元素中。对于大多数元素来说都是如此,但可以被更复杂的类型覆盖。 这 ScrollView例如,具有与自身不同的内容容器。在这种情况下,添加到滚动视图的子元素将改为添加到其内容容器元素中。虽然物理父级 (VisualElement.Hierarchy.parent) 是滚动视图的内容容器元素,它们的逻辑父元素 (VisualElement.parent) 仍然引用滚动视图本身。由于滚动视图的一些可聚焦子项不是其逻辑层次结构的一部分,例如Scroller元素,在使用顺序导航时,默认情况下不考虑这些可聚焦的子项。如果默认导航规则与您的需求不符,请参阅如何更改接下来关注的元素,了解解决方法解决方案的示例。 |
data-source |
Object |
将数据源分配给此 VisualElement,该 VisualElement 将替代任何继承的数据源。此数据源由所有子级继承。 |
data-source-path |
string |
从数据源到值的路径。 |
data-source-type |
System.Type |
可分配给此 VisualElement 的可能数据源类型。 当设计时无法指定有效数据源时,UI 生成器仅将 此信息用作提示,以对数据源路径字段进行一些补全。 |
enabled |
boolean |
如果VisualElement在本地启用。如果 VisualElement 的父级之一隐式禁用,则 不会更改此标志。要验证这一点,请使用 enabledInHierarchy. |
language-direction |
UIElements.LanguageDirection |
指示元素文本的方向性。该值将传播到元素的子项。 设置 languageDirection自RTL只能获得文本反转等基本的 RTL 支持。要获得更全面的 RTL 支持,例如换行、自动换行或文本整形,您必须启用高级文本生成器。 |
name |
string |
此 VisualElement 的名称。 使用此属性可以编写面向特定元素的 USS 选择器。标准做法是为元素指定一个唯一的名称。 |
picking-mode |
UIElements.PickingMode |
确定此元素是可以作为指针事件的目标还是由IPanel.Pick查询。如果出现以下情况,则无法拾取元素: - 它们不可见- 它们的 style.display设置为DisplayStyle.None拾取模式为 PickingMode.Ignore永远不要接收悬停伪状态。 |
style |
string |
在VisualElement.返回 的样式数据是根据 USS 文件或在 C# 中写入此对象的内联样式计算得出的,不表示完全解析的样式,例如 VisualElement 的最终高度和宽度。要访问这些完全解析的样式,请使用 resolvedStyle.有关如何使用此属性和所有受支持的 USS 属性的信息,请参阅在 C# 脚本中应用样式和 USS 属性参考手册页。 |
tooltip |
string |
用户将鼠标悬停在元素上一小段时间后,要在信息框内显示的文本。这仅在编辑器UI中受支持。 |
usage-hints |
UIElements.UsageHints |
提示值的组合,用于指定VisualElement.只有当VisualElement还不是Panel.曾经是Panel,则此属性实际上变为只读,尝试更改它将引发异常。适当的规范UsageHints驱动系统根据预期的使用模式就如何处理或加速某些作做出更好的决策。请注意,这些提示不会影响行为或视觉结果,而只会影响面板和其中元素的整体性能。建议始终考虑指定适当的UsageHints,但请记住,某些UsageHints在某些情况下(例如,由于目标平台上的硬件限制),可能会在内部忽略。 |
view-data-key |
string |
用于视图数据持久性,例如树展开状态、滚动位置或缩放级别。 此键用于从视图数据存储中保存和加载视图数据。如果未设置此键,则会禁用关联的持久性 VisualElement.有关更多信息,请参阅 Unity 手册中的查看数据持久性。 |
下表列出了所有 C# 公共属性名称及其相关的 USS 选择器。
| C# 属性 | USS 选择器 | 描述 |
|---|---|---|
ussClassName |
.unity-image |
此类元素的 USS 级名称。 |
disabledUssClassName |
.unity-disabled |
本地禁用元素的 USS 级名称。 |
下表概述了 USS 中 Image 元素专用的自定义属性:
| 财产 | 类型 | 描述 |
|---|---|---|
--unity-image |
字符串 | 图像文件的源。有关如何引用图像资产的信息,请参阅资产可在游戏或项目中使用的任何媒体或数据。资产可能来自在 Unity 外部创建的文件,例如 3D 模型、音频文件或图像。您还可以在 Unity 中创建一些资产类型,例如动画师控制器、混音器或渲染纹理。更多信息 请参阅术语表. |
--unity-image-size |
字符串 | 图像缩放模式。可用值为stretch-to-fill,scale-and-crop和scale-to-fit. |
--unity-image-tint-color |
字符串 | 图像色调颜色。 |