CompositionSurfaceBrush Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Закрашивает объект SpriteVisual пикселями из объекта ICompositionSurface.
public ref class CompositionSurfaceBrush sealed : CompositionBrush
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 131072)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class CompositionSurfaceBrush final : CompositionBrush
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 131072)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class CompositionSurfaceBrush : CompositionBrush
Public NotInheritable Class CompositionSurfaceBrush
Inherits CompositionBrush
- Наследование
- Атрибуты
Требования к Windows
Семейство устройств |
Windows 10 (появилось в 10.0.10586.0)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v2.0)
|
Примеры
Рисование ресурса изображения на spriteVisual
private SpriteVisual CreateImageVisual(ICompositionSurface imageSurface)
{
SpriteVisual imageVisual = _compositor.CreateSpriteVisual();
imageVisual.Size = new Vector2(300, 200);
CompositionSurfaceBrush imageBrush = _compositor.CreateSurfaceBrush();
imageBrush.Surface = imageSurface;
// specify CompositionStretch on SurfaceBrush and horizontal/vertical alignment
imageBrush.Stretch = CompositionStretch.UniformToFill;
imageBrush.HorizontalAlignmentRatio = 0.5f;
imageBrush.VerticalAlignmentRatio = 0.5f;
imageVisual.Brush = imageBrush;
return imageVisual;
}
Применение пользовательской анимации преобразования масштаба к CompositionSurfaceBrush
private void AnimateBrushScale(SpriteVisual imageVisual)
{
CompositionSurfaceBrush imageBrush = (CompositionSurfaceBrush)imageVisual.Brush;
// set brush CenterPoint at the center of the content painted onto imageVisual
imageBrush.CenterPoint = imageVisual.Size / 2;
// set up scale keyframe animation
CompositionScopedBatch batch = _compositor.CreateScopedBatch(CompositionBatchTypes.Animation);
Vector2KeyFrameAnimation scaleAnimation = _compositor.CreateVector2KeyFrameAnimation();
scaleAnimation.InsertKeyFrame(1.0f, new Vector2(1.5f));
scaleAnimation.Duration = TimeSpan.FromMilliseconds(500);
// start animation on CompositionSurfaceBrush.Scale
imageBrush.StartAnimation("Scale", scaleAnimation);
// end animation batch and fire completion event
batch.End();
batch.Completed += ScaleAnimationBatch_Completed;
}
Комментарии
Свойство Stretch в сочетании со свойствами HorizontalAlignmentRatio и VerticalAlignmentRatio используется для указания масштаба и расположения содержимого CompositionSurfaceBrush при нарисовке на SpriteVisual.
CompositionSurfaceBrush также имеет следующие свойства, которые позволяют выполнять пользовательские преобразования:
- AnchorPoint (Точка привязки)
- CenterPoint (Центральная точка)
- Offset
- RotationAngle (Угол поворота)
- RotationAngleInDegrees (Угол поворота в градусах)
- Масштабирование
- TransformMatrix
Порядок операций преобразования в CompositionSurfaceBrush выглядит следующим образом:
Содержимое CompositionSurfaceBrush растягивается и выравнивается по spriteVisual (см. свойства Stretch, HorizontalAlignmentRatio и VerticalAlignmentRatio ).
Применяются любые другие свойства преобразования, заданные в CompositionSurfaceBrush.
Поэтому пользовательские преобразования, применяемые к CompositionSurfaceBrush, вычисляются в пространстве координат spriteVisual, на который нарисована кисть. Например, при задании значения Offset of Vector2(100, 0) растянутое и выровненное содержимое кисти смещается на 100 единиц вправо относительно левого края объекта SpriteVisual , на который она нарисована.
Журнал версий
Версия Windows | Версия пакета SDK | Добавленная стоимость |
---|---|---|
1607 | 14393 | AnchorPoint (Точка привязки) |
1607 | 14393 | CenterPoint (Центральная точка) |
1607 | 14393 | Offset |
1607 | 14393 | RotationAngle (Угол поворота) |
1607 | 14393 | RotationAngleInDegrees (Угол поворота в градусах) |
1607 | 14393 | Масштабирование |
1607 | 14393 | TransformMatrix |
1903 | 18362 | SnapToPixels |
Свойства
AnchorPoint |
Точка на кисти, располагаемой на смещении кисти. Значение нормализуется относительно размера SpriteVisual. |
BitmapInterpolationMode |
Задает алгоритм, используемый для интерполяции пикселей из ICompositionSurface, если они не образуют сопоставление "один к одному" с пикселями в SpriteVisual (как это может происходить при растяжения, масштабировании, повороте и других преобразованиях). |
CenterPoint |
Точка поворота и масштабирования кисти. |
Comment |
Строка, связанная с CompositionObject. (Унаследовано от CompositionObject) |
Compositor |
Compositor, используемый для создания объекта CompositionObject. (Унаследовано от CompositionObject) |
Dispatcher |
Диспетчер для CompositionObject. (Унаследовано от CompositionObject) |
DispatcherQueue |
Возвращает dispatcherQueue для Объекта CompostionObject. (Унаследовано от CompositionObject) |
HorizontalAlignmentRatio |
Управляет положением вертикальной оси содержимого относительно вертикальной оси SpriteVisual. Значение зажато в диапазоне от 0,0f до 1,0f, при этом значение 0,0f представляет левый вертикальный край, а значение 1,0f представляет правый вертикальный край SpriteVisual. |
ImplicitAnimations |
Коллекция неявных анимаций, присоединенных к этому объекту. (Унаследовано от CompositionObject) |
Offset |
Смещение кисти относительно ее SpriteVisual. |
Properties |
Коллекция свойств, связанных с CompositionObject. (Унаследовано от CompositionObject) |
RotationAngle |
Угол поворота кисти в радианах. |
RotationAngleInDegrees |
Угол поворота кисти в градусах. |
Scale |
Масштаб, применяемый к кисти. |
SnapToPixels |
Возвращает или задает значение, указывающее, выравнивается ли кисть поверхности с пикселями. |
Stretch |
Управляет масштабированием, применяемым к содержимому объекта ICompositionSurface в зависимости от размера закрашиваемого объекта SpriteVisual . |
Surface |
Объект ICompositionSurface, связанный с CompositionSurfaceBrush. |
TransformMatrix |
Матрица преобразования, применяемая к кисти. |
VerticalAlignmentRatio |
Управляет размещением горизонтальной оси содержимого относительно горизонтальной оси SpriteVisual. Значение зажато в диапазоне от 0,0f до 1,0f, при этом 0,0f представляет верхний горизонтальный край и 1,0f, представляющий нижний горизонтальный край SpriteVisual. Значение по умолчанию — 0,5f. |
Методы
Close() |
Закрывает CompositionObject и освобождает системные ресурсы. (Унаследовано от CompositionObject) |
ConnectAnimation(String, CompositionAnimation) |
Подключается и анимация. (Унаследовано от CompositionObject) |
DisconnectAnimation(String) |
Отключает анимацию. (Унаследовано от CompositionObject) |
Dispose() |
Выполняет определяемые приложением задачи, связанные с удалением, высвобождением или сбросом неуправляемых ресурсов. (Унаследовано от CompositionObject) |
PopulatePropertyInfo(String, AnimationPropertyInfo) |
Определяет свойство, которое можно анимировать. (Унаследовано от CompositionObject) |
StartAnimation(String, CompositionAnimation, AnimationController) |
Соединяет анимацию с указанным свойством объекта и запускает анимацию. (Унаследовано от CompositionObject) |
StartAnimation(String, CompositionAnimation) |
Соединяет анимацию с указанным свойством объекта и запускает анимацию. (Унаследовано от CompositionObject) |
StartAnimationGroup(ICompositionAnimationBase) |
Запускает группу анимации. Метод StartAnimationGroup в CompositionObject позволяет запустить CompositionAnimationGroup. Все анимации в группе будут запущены одновременно с объектом . (Унаследовано от CompositionObject) |
StopAnimation(String) |
Отключает анимацию от указанного свойства и останавливает анимацию. (Унаследовано от CompositionObject) |
StopAnimationGroup(ICompositionAnimationBase) |
Останавливает группу анимации. (Унаследовано от CompositionObject) |
TryGetAnimationController(String) |
Возвращает AnimationController для анимации, выполняемой в указанном свойстве. (Унаследовано от CompositionObject) |