示例#1
0
        private void InitializeCompositionVariables()
        {
            var bounds          = ApplicationView.GetForCurrentView().VisibleBounds;
            var maxWindowWidth  = bounds.Width.ToFloat();
            var maxWindowHeight = bounds.Height.ToFloat();
            var maxWindowRadius = Math.Max(maxWindowWidth, maxWindowHeight);

            // Setup sky visual's size, position, opacity, etc.
            _skyVisual             = Sky.ContainerVisual();
            _skyVisual.Size        = new Vector2(maxWindowRadius * SkyVisualAreaRatio);
            _skyVisual.Offset      = new Vector3(-SkyVisualRadius + maxWindowWidth / 2.0f, -SkyVisualRadius + maxWindowHeight / 2.0f, 0.0f);
            _skyVisual.CenterPoint = new Vector3(SkyVisualRadius, SkyVisualRadius, 0.0f);
            _skyVisual.Opacity     = 0;

            _compositor = _skyVisual.Compositor;
            _reading    = _compositor.CreatePropertySet();
            _reading.InsertVector3("Offset", new Vector3(0.0f, 0.0f, 0.0f));
            _imageLoader         = ImageLoaderFactory.CreateImageLoader(_compositor);
            _circleBrush         = _compositor.CreateSurfaceBrush();
            _circleBrush.Surface = _imageLoader.LoadImageFromUri(new Uri(StarUriString));

            if (_inclinometer != null)
            {
                SetupSkyVisualOffsetExpressionAnimation();
            }
        }
        private CompositionSurfaceBrush CreateBrushFromAsset(string name, out Size size)
        {
            IImageLoader imageLoader          = ImageLoaderFactory.CreateImageLoader(m_compositor);
            CompositionDrawingSurface surface = imageLoader.LoadImageFromUri(new Uri("ms-appx:///Assets/" + name));

            size = surface.Size;
            return(m_compositor.CreateSurfaceBrush(surface));
        }
        /// <summary>
        /// Initialize Composition
        /// </summary>
        private void InitializeComposition()
        {
            // Retrieve an instance of the Compositor from the backing Visual of the Page
            _compositor = ElementCompositionPreview.GetElementVisual(this).Compositor;

            // Create a root visual from the Compositor
            _root = _compositor.CreateContainerVisual();

            // Set the root ContainerVisual as the XAML Page Visual
            ElementCompositionPreview.SetElementChildVisual(this, _root);

            // Assign initial values to variables used to store updated offsets for the visuals
            float posXUpdated = _posX;
            float posYUpdated = _posY;

            // Create a list of image brushes that can be applied to a visual
            string[] imageNames =
            {
                "01.png",
                "02.png",
                "03.png",
                "04.png",
                "05.png",
                "06.png",
                "07.png",
                "08.png",
                "60Banana.png",
                "60Lemon.png",
                "60Vanilla.png",
                "60Mint.png",
                "60Orange.png",
                "110Strawberry.png",
                "60SprinklesRainbow.png"
            };
            List <CompositionSurfaceBrush> imageBrushList = new List <CompositionSurfaceBrush>();
            IImageLoader imageFactory = ImageLoaderFactory.CreateImageLoader(_compositor);

            for (int k = 0; k < imageNames.Length; k++)
            {
                var surface = imageFactory.LoadImageFromUri(new Uri("ms-appx:///Assets/Images/Composition/ImplicitAnimation/" + imageNames[k]));
                imageBrushList.Add(_compositor.CreateSurfaceBrush(surface));
            }

            // Create nxn matrix of visuals where n=row/ColumnCount-1 and passes random image brush to the function
            // that creates a visual
            for (int i = 1; i < _rowCount; i++)
            {
                posXUpdated = i * _distance;
                for (int j = 1; j < _columnCount; j++)
                {
                    CompositionSurfaceBrush brush = imageBrushList[randomBrush.Next(imageBrushList.Count)];

                    posYUpdated = j * _distance;
                    _root.Children.InsertAtTop(CreateChildElement(brush, posXUpdated, posYUpdated));
                }
            }
            EnableAnimationOnChildren(EnableAnimations.IsChecked.GetValueOrDefault());
        }
示例#4
0
        private void SetImageBrush(string uri)
        {
            // Update the sprite
            _imageBrush.Surface = _imageLoader.LoadImageFromUri(new Uri(uri));
            UpdateImageBrush();

            // Update the preview image
            BitmapImage image = new BitmapImage(new Uri(uri));

            ImagePreview.Source = image;
        }
        /// <summary>
        /// Instantiate brush scenarios to use on the visual; used in combobox BrushSelection changed event.
        /// </summary>
        private static INineGridScenario[] CreateBrushes(Compositor compositor, IImageLoader imageLoader, Vector2 visualSize)
        {
            // Load image to surfaceBrush (this asset serves as the alpha mask as well)
            var surface    = imageLoader.LoadImageFromUri(new Uri("ms-appx:///Samples/SDK 14393/NineGridResizing/RoundedRect.png"));
            var imageBrush = compositor.CreateSurfaceBrush(surface);

            imageBrush.Stretch = CompositionStretch.Fill;

            // Create INineGridScenario array to return. Surface scenario is special because it's used as input to another scenario
            var surfaceNineGridScenario = new SurfaceNineGridScenario(compositor, imageBrush, "Source: SurfaceBrush");

            return(new INineGridScenario[]
            {
                new ColorNineGridScenario(compositor, "Source: ColorBrush(hollow)"),
                new BorderNineGridScenario(compositor, imageBrush, visualSize, "Source: ColorBrush(w/ content)"),
                surfaceNineGridScenario,
                new EffectNineGridScenario(compositor, (CompositionNineGridBrush)surfaceNineGridScenario.Brush, "Input to: EffectBrush"),
                new MaskNineGridScenario(compositor, imageBrush, "Input to: MaskBrush")
            });
        }
        /// <summary>
        /// Initialize Composition
        /// </summary>
        private void InitializeComposition()
        {

            // Retrieve an instance of the Compositor from the backing Visual of the Page
            _compositor = ElementCompositionPreview.GetElementVisual(this).Compositor;

            // Create a root visual from the Compositor
            _root = _compositor.CreateContainerVisual();

            // Set the root ContainerVisual as the XAML Page Visual           
            ElementCompositionPreview.SetElementChildVisual(this, _root);

            // Assign initial values to variables used to store updated offsets for the visuals          
            float posXUpdated = _posX;
            float posYUpdated = _posY;


            //Create a list of image brushes that can be applied to a visual
            string[] imageNames = { "60Banana.png", "60Lemon.png", "60Vanilla.png", "60Mint.png", "60Orange.png", "110Strawberry.png", "60SprinklesRainbow.png" };
            _imageBrushList = new List<CompositionSurfaceBrush>();
            _imageLoader = ImageLoaderFactory.CreateImageLoader(_compositor);
            for (int k = 0; k < imageNames.Length; k++)
            {
                var surface = _imageLoader.LoadImageFromUri(new Uri("ms-appx:///Samples/SDK 14393/ImplicitAnimationTransformer/" + imageNames[k]));
                _imageBrushList.Add(_compositor.CreateSurfaceBrush(surface));
            }

            // Create nxn matrix of visuals where n=row/ColumnCount-1 and passes random image brush to the function
            // that creates a visual
            for (int i = 1; i < _rowCount; i++)
            {
                posXUpdated = i * _distance;
                for (int j = 1; j < _columnCount; j++)
                {
                    CompositionSurfaceBrush brush = _imageBrushList[randomBrush.Next(_imageBrushList.Count)];

                    posYUpdated = j * _distance;
                    _root.Children.InsertAtTop(CreateChildElement(brush, posXUpdated, posYUpdated));
                }
            }

            // Update the default animation state
            UpdateAnimationState(EnableAnimations.IsChecked == true);
        }
        //private async Task HideStatusBar()
        //{
        //    //if (ApiInformation.IsApiContractPresent("Windows.Phone.PhoneContract", 1, 0))
        //    //{
        //    //    var statusBar = StatusBar.GetForCurrentView();
        //    //    await statusBar.HideAsync();
        //    //}
        //}

        private void InitializeCompositionVariables()
        {
            var bounds = ApplicationView.GetForCurrentView().VisibleBounds;
            var maxWindowWidth = bounds.Width.ToFloat();
            var maxWindowHeight = bounds.Height.ToFloat();
            var maxWindowRadius = Math.Max(maxWindowWidth, maxWindowHeight);

            // Setup sky visual's size, position, opacity, etc.
            _skyVisual = Sky.ContainerVisual();
            _skyVisual.Size = new Vector2(maxWindowRadius * SkyVisualAreaRatio);
            _skyVisual.Offset = new Vector3(-SkyVisualRadius + maxWindowWidth / 2.0f, -SkyVisualRadius + maxWindowHeight / 2.0f, 0.0f);
            _skyVisual.CenterPoint = new Vector3(SkyVisualRadius, SkyVisualRadius, 0.0f);
            _skyVisual.Opacity = 0;

            _compositor = _skyVisual.Compositor;
            _reading = _compositor.CreatePropertySet();
            _reading.InsertVector3("Offset", new Vector3(0.0f, 0.0f, 0.0f));
            _imageLoader = ImageLoaderFactory.CreateImageLoader(_compositor);
            _circleBrush = _compositor.CreateSurfaceBrush();
            _circleBrush.Surface = _imageLoader.LoadImageFromUri(new Uri(StarUriString));

            if (_inclinometer != null) SetupSkyVisualOffsetExpressionAnimation();
        }