StyleBoxTexture
Текстурный nine-patch стиль с независимыми полями и расширением рисунка.
Назначьте Texture, RegionRect при использовании участка изображения и четыре TextureMargin для нарезки на девять областей. Углы сохраняют локальные размеры; края/середина растягиваются или повторяются по AxisStretchHorizontal/Vertical. RegionRect измеряется в исходных пикселях; нулевой Rect2 использует всю текстуру. Проверяйте, что неотрицательные суммы краёв помещаются в исходной области.
TextureMargin задаёт нарезку. ContentMargin определяет отступ содержимого: при отрицательном значении берёт соответствующий TextureMargin, явное число переопределяет его. Например, текстурный край 4 и ContentMarginLeft = 10 сохраняют нарезку 4, но дают отступ слева 10. Минимум определяется рассчитанными полями, даже если Texture = null; исходный размер всей текстуры не является минимумом стиля.
ExpandMargin расширяет только рисунок за переданный rect. Он не увеличивает ContentMargin, минимум или область клика. DrawCenter = false убирает середину рисунка, не меняя отступы. ModulateColor умножает цвет/альфу изображения, не редактируя исходные пиксели.
Changed испускается при замене Texture, но внутренний Changed назначенной текстуры не передаётся через StyleBoxTexture. Если изменение размеров/области динамического ресурса требует обновить потребителей, уведомите стиль явно через EmitChanged. Обычная Duplicate отделяет поля стиля, сохраняя общую Texture.
Для растягивания с сохранением узора выберите Tile или TileFit; последний подгоняет целое число повторений. Результат фильтрации и атласа проверяйте на целевом рендерере.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
StyleBoxTextureКонструктор
public StyleBoxTexture();Создаёт стиль без Texture: поля нарезки/расширения 0, DrawCenter = true, ModulateColor белый, оба режима осей Stretch. ContentMargin наследует -1 для автоматических полей.
Свойства14
AxisStretchHorizontalСвойство
public StyleBoxTexture.AxisStretchMode AxisStretchHorizontal { get; set; }Stretch, Tile или TileFit по горизонтали, Stretch по умолчанию. TileFit подгоняет целое число повторений. Не изменяет ContentMargin.
AxisStretchVerticalСвойство
public StyleBoxTexture.AxisStretchMode AxisStretchVertical { get; set; }Независимый вертикальный Stretch/Tile/TileFit, Stretch по умолчанию. Не меняет минимум и числовые поля нарезки.
DrawCenterСвойство
public bool DrawCenter { get; set; }Рисовать середину nine-patch, true по умолчанию. false сохраняет поля и минимум; не делает сам Control контейнером или прозрачной маской ввода.
ExpandMarginBottomСвойство
public float ExpandMarginBottom { get; set; }Декоративное расширение рисунка Bottom, 0 по умолчанию. Не меняет минимум и отступ содержимого.
ExpandMarginLeftСвойство
public float ExpandMarginLeft { get; set; }Декоративное расширение рисунка Left, 0 по умолчанию. Не меняет минимум и отступ содержимого.
ExpandMarginRightСвойство
public float ExpandMarginRight { get; set; }Декоративное расширение рисунка Right, 0 по умолчанию. Не меняет минимум и отступ содержимого.
ExpandMarginTopСвойство
public float ExpandMarginTop { get; set; }Декоративное расширение рисунка Top, 0 по умолчанию. Не меняет минимум и отступ содержимого.
ModulateColorСвойство
public Color ModulateColor { get; set; }Множитель цвета/альфы рисунка, белый по умолчанию. Не редактирует Texture и не меняет поля содержимого.
RegionRectСвойство
public Rect2 RegionRect { get; set; }Исходная область в пикселях, не UV; нулевой Rect2 означает всю текстуру. Не изменяет ContentMargin/TextureMargin автоматически.
TextureСвойство
public Texture2D Texture { get; set; }Общая Texture2D либо null. Замена ссылки вызывает Changed; внутренний Changed ресурса не передаётся стилем автоматически. Минимум зависит от полей, не размера всей Texture.
TextureMarginBottomСвойство
public float TextureMarginBottom { get; set; }Толщина края Bottom нарезки в исходных пикселях, 0 по умолчанию. Также используется как автоматическое поле содержимого, но явный ContentMargin имеет приоритет.
TextureMarginLeftСвойство
public float TextureMarginLeft { get; set; }Толщина края Left нарезки в исходных пикселях, 0 по умолчанию. Также используется как автоматическое поле содержимого, но явный ContentMargin имеет приоритет.
TextureMarginRightСвойство
public float TextureMarginRight { get; set; }Толщина края Right нарезки в исходных пикселях, 0 по умолчанию. Также используется как автоматическое поле содержимого, но явный ContentMargin имеет приоритет.
TextureMarginTopСвойство
public float TextureMarginTop { get; set; }Толщина края Top нарезки в исходных пикселях, 0 по умолчанию. Также используется как автоматическое поле содержимого, но явный ContentMargin имеет приоритет.
Методы18
GetExpandMarginfloat
public float GetExpandMargin(Side margin);Возвращает декоративное расширение рисунка со стороны. Это не рассчитанный отступ содержимого.
| Имя | Тип | По умолчанию |
|---|---|---|
margin | Side | — |
marginСторона Side.Left, Top, Right или Bottom.
floatРасширение рисунка стороны в пикселях.
GetHAxisStretchModeStyleBoxTexture.AxisStretchMode
public StyleBoxTexture.AxisStretchMode GetHAxisStretchMode();Stretch, Tile или TileFit по горизонтали, Stretch по умолчанию. TileFit подгоняет целое число повторений. Не изменяет ContentMargin.
StyleBoxTexture.AxisStretchModeВыбранный горизонтальный AxisStretchMode.
GetModulateColor
public Color GetModulate();Множитель цвета/альфы рисунка, белый по умолчанию. Не редактирует Texture и не меняет поля содержимого.
ColorМножитель цвета и альфы рисунка.
GetRegionRectRect2
public Rect2 GetRegionRect();Исходная область в пикселях, не UV; нулевой Rect2 означает всю текстуру. Не изменяет ContentMargin/TextureMargin автоматически.
Rect2Сохранённый Rect2 исходной области в пикселях.
GetTextureTexture2D
public Texture2D GetTexture();Общая Texture2D либо null. Замена ссылки вызывает Changed; внутренний Changed ресурса не передаётся стилем автоматически. Минимум зависит от полей, не размера всей Texture.
Texture2DОбщая Texture2D либо null.
GetTextureMarginfloat
public float GetTextureMargin(Side margin);Возвращает толщину края нарезки в пикселях. Используется как автоматическое поле содержимого, если соответствующий ContentMargin отрицателен.
| Имя | Тип | По умолчанию |
|---|---|---|
margin | Side | — |
marginСторона Side.Left, Top, Right или Bottom.
floatТолщина края нарезки в пикселях.
GetVAxisStretchModeStyleBoxTexture.AxisStretchMode
public StyleBoxTexture.AxisStretchMode GetVAxisStretchMode();Независимый вертикальный Stretch/Tile/TileFit, Stretch по умолчанию. Не меняет минимум и числовые поля нарезки.
StyleBoxTexture.AxisStretchModeВыбранный вертикальный AxisStretchMode.
IsDrawCenterEnabledbool
public bool IsDrawCenterEnabled();Рисовать середину nine-patch, true по умолчанию. false сохраняет поля и минимум; не делает сам Control контейнером или прозрачной маской ввода.
booltrue, если рисуется середина.
SetDrawCentervoid
public void SetDrawCenter(bool enable);Рисовать середину nine-patch, true по умолчанию. false сохраняет поля и минимум; не делает сам Control контейнером или прозрачной маской ввода.
| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
enableРисовать середину nine-patch, true по умолчанию. false сохраняет поля и минимум; не делает сам Control контейнером или прозрачной маской ввода.
SetExpandMarginvoid
public void SetExpandMargin(Side margin, float size);Задаёт декоративный выход рисунка за rect и испускает Changed. Не увеличивает ContentMargin, минимум или область попадания Control.
| Имя | Тип | По умолчанию |
|---|---|---|
margin | Side | — |
size | float | — |
marginСторона Side.Left, Top, Right или Bottom.
sizeЗадаёт декоративный выход рисунка за rect и испускает Changed. Не увеличивает ContentMargin, минимум или область попадания Control.
SetExpandMarginAllvoid
public void SetExpandMarginAll(float size);Задаёт одинаковое расширение рисунка всем сторонам и испускает Changed один раз. Раскладка не резервирует эту область.
| Имя | Тип | По умолчанию |
|---|---|---|
size | float | — |
sizeЗадаёт одинаковое расширение рисунка всем сторонам и испускает Changed один раз. Раскладка не резервирует эту область.
SetHAxisStretchModevoid
public void SetHAxisStretchMode(StyleBoxTexture.AxisStretchMode mode);Stretch, Tile или TileFit по горизонтали, Stretch по умолчанию. TileFit подгоняет целое число повторений. Не изменяет ContentMargin.
| Имя | Тип | По умолчанию |
|---|---|---|
mode | StyleBoxTexture.AxisStretchMode | — |
modeStretch, Tile или TileFit по горизонтали, Stretch по умолчанию. TileFit подгоняет целое число повторений. Не изменяет ContentMargin.
SetModulatevoid
public void SetModulate(Color color);Множитель цвета/альфы рисунка, белый по умолчанию. Не редактирует Texture и не меняет поля содержимого.
| Имя | Тип | По умолчанию |
|---|---|---|
color | Color | — |
colorМножитель цвета/альфы рисунка, белый по умолчанию. Не редактирует Texture и не меняет поля содержимого.
SetRegionRectvoid
public void SetRegionRect(Rect2 region);Исходная область в пикселях, не UV; нулевой Rect2 означает всю текстуру. Не изменяет ContentMargin/TextureMargin автоматически.
| Имя | Тип | По умолчанию |
|---|---|---|
region | Rect2 | — |
regionИсходная область в пикселях, не UV; нулевой Rect2 означает всю текстуру. Не изменяет ContentMargin/TextureMargin автоматически.
SetTexturevoid
public void SetTexture(Texture2D texture);Общая Texture2D либо null. Замена ссылки вызывает Changed; внутренний Changed ресурса не передаётся стилем автоматически. Минимум зависит от полей, не размера всей Texture.
| Имя | Тип | По умолчанию |
|---|---|---|
texture | Texture2D | — |
textureОбщая Texture2D либо null. Замена ссылки вызывает Changed; внутренний Changed ресурса не передаётся стилем автоматически. Минимум зависит от полей, не размера всей Texture.
SetTextureMarginvoid
public void SetTextureMargin(Side margin, float size);Задаёт толщину края нарезки и испускает Changed. Используйте неотрицательные значения с допустимой суммой противоположных краёв в исходной области. Может изменить автоматический минимум.
| Имя | Тип | По умолчанию |
|---|---|---|
margin | Side | — |
size | float | — |
marginСторона Side.Left, Top, Right или Bottom.
sizeЗадаёт толщину края нарезки и испускает Changed. Используйте неотрицательные значения с допустимой суммой противоположных краёв в исходной области. Может изменить автоматический минимум.
SetTextureMarginAllvoid
public void SetTextureMarginAll(float size);Задаёт одинаковый край нарезки со всех сторон, испускает Changed один раз. Явные ContentMargin не переписываются.
| Имя | Тип | По умолчанию |
|---|---|---|
size | float | — |
sizeЗадаёт одинаковый край нарезки со всех сторон, испускает Changed один раз. Явные ContentMargin не переписываются.
SetVAxisStretchModevoid
public void SetVAxisStretchMode(StyleBoxTexture.AxisStretchMode mode);Независимый вертикальный Stretch/Tile/TileFit, Stretch по умолчанию. Не меняет минимум и числовые поля нарезки.
| Имя | Тип | По умолчанию |
|---|---|---|
mode | StyleBoxTexture.AxisStretchMode | — |
modeНезависимый вертикальный Stretch/Tile/TileFit, Stretch по умолчанию. Не меняет минимум и числовые поля нарезки.
StyleBoxTexture.AxisStretchMode
| Значение | Описание |
|---|---|
Stretch = 0 | Растянуть текстуру stylebox. Это приведет к видимым искажениям, если только размер текстуры не будет идеально соответствовать размеру stylebox. |
Tile = 1 | Повторяет текстуру stylebox, чтобы она соответствовала размеру stylebox в соответствии с системой девяти частей. |
TileFit = 2 | Повторяет текстуру stylebox для соответствия размеру stylebox в соответствии с системой из девяти частей. В отличие от |