コード例 #1
0
        private async Task CreateResourcesAsync(CanvasControl sender)
        {
            m_BackgroundImage = await CanvasBitmap.LoadAsync(sender.Device, new Uri("ms-appx:///Assets/setup_bg.jpg"));

            //m_BackgroundImageInitialAlpha = await CanvasBitmap.LoadAsync(sender.Device, new Uri("ms-appx:///Assets/nuki_initial.png"));
            var blured = new GaussianBlurEffect()
            {
                Source     = m_BackgroundImage,
                BlurAmount = 10.0f,
            };

            m_BluredBackground = new BlendEffect()
            {
                Background = blured,
                Foreground = new ColorSourceEffect()
                {
                    Color = Windows.UI.Color.FromArgb(25, 0, 0, 0)
                },
                Mode = BlendEffectMode.Darken
            };

            m_BlendedBackground = new BlendEffect()
            {
                Background = blured,
                Foreground = new ColorSourceEffect()
                {
                    Color = Windows.UI.Color.FromArgb(100, 0, 0, 0)
                },
                Mode = BlendEffectMode.Darken
            };
            m_ImageStatus = ImageLoadStatus.Fading;
            sender.Invalidate();
        }
コード例 #2
0
        private void OnImageStatusUpdate(Border view, ImageLoadStatus status)
        {
            var eventDispatcher = view.GetReactContext()
                                  .GetNativeModule <UIManagerModule>()
                                  .EventDispatcher;

            eventDispatcher.DispatchEvent(
                new ReactImageLoadEvent(
                    view.GetTag(),
                    (int)status));
        }
コード例 #3
0
        private void CanvasDrawBrackground(CanvasControl sender, CanvasDrawEventArgs args)
        {
            ICanvasImage img = null;

            Rect drawRect, imageBounds;

            if (m_BackgroundImage == null)
            {
                if (m_ImageStatus == ImageLoadStatus.Initial)
                {
                    m_ImageStatus = ImageLoadStatus.LoadRequested;
                    var asynHandle = CreateResourcesAsync(sender);
                }
                else
                {
                }
                drawRect    = GetDrawRect(sender, m_BackgroundImageInitial);
                img         = m_BackgroundImageInitial;
                imageBounds = m_BackgroundImageInitial.Bounds;
            }
            else
            {
                switch (ViewModel.BackgoundMode)
                {
                case BackgoundMode.CleanImage:
                    img = m_BackgroundImage;
                    break;

                case BackgoundMode.BluredImage:
                    img = m_BluredBackground;
                    break;

                case BackgoundMode.BluredDarkImage:
                    img = m_BlendedBackground;
                    break;

                default:
                case BackgoundMode.None:
                    break;
                }

                imageBounds = m_BackgroundImage.Bounds;
                drawRect    = GetDrawRect(sender, m_BackgroundImage);
            }

            if (img != null)
            {
                args.DrawingSession.DrawImage(img, drawRect, imageBounds);
            }
            else
            {
            }
        }
コード例 #4
0
        private void OnImageStatusUpdate(Border view, ImageLoadStatus status, ImageMetadata metadata)
        {
            var eventDispatcher = view.GetReactContext()
                                  .GetNativeModule <UIManagerModule>()
                                  .EventDispatcher;

            eventDispatcher.DispatchEvent(
                new ReactImageLoadEvent(
                    view.GetTag(),
                    (int)status,
                    metadata.Uri,
                    metadata.Width,
                    metadata.Height));
        }
コード例 #5
0
        private void CanvasFadeInLoadedImage(CanvasControl sender, CanvasDrawEventArgs args)
        {
            var drawRectSmall = GetDrawRect(sender, m_BackgroundImageInitial);
            var drawRectBig   = GetDrawRect(sender, m_BackgroundImage);


            args.DrawingSession.DrawImage(m_BackgroundImageInitial, drawRectSmall, m_BackgroundImageInitial.Bounds);
            args.DrawingSession.DrawImage(m_BackgroundImage, drawRectBig, m_BackgroundImage.Bounds, m_nFadein);

            m_nFadein += 0.1f;
            if (m_nFadein >= 1)
            {
                m_ImageStatus = ImageLoadStatus.Complete;
            }
            Task.Delay(25).ContinueWith((t) => Dispatcher.RunAsync(CoreDispatcherPriority.Low, sender.Invalidate));
        }
コード例 #6
0
        private void OnImageStatusUpdate(Border view, ImageLoadStatus status, ImageMetadata metadata)
        {
            if (!view.HasTag())
            {
                // View may have been unmounted, ignore.
                return;
            }

            var eventDispatcher = view.GetReactContext()
                                  .GetNativeModule <UIManagerModule>()
                                  .EventDispatcher;

            eventDispatcher.DispatchEvent(
                new ReactImageLoadEvent(
                    view.GetTag(),
                    (int)status,
                    metadata.Uri,
                    metadata.Width,
                    metadata.Height));
        }
コード例 #7
0
ファイル: Shell.xaml.cs プロジェクト: BoBiene/Nuki
        private void CanvasFadeInLoadedImage(CanvasControl sender, CanvasDrawEventArgs args)
        {
            var drawRectSmall = GetDrawRect(sender, m_BackgroundImageInitial);
            var drawRectBig   = GetDrawRect(sender, m_BackgroundImage);
            var blendEffect   = new BlendEffect()
            {
                Background = m_BackgroundImage,
                Foreground = new ColorSourceEffect()
                {
                    Color = Windows.UI.Color.FromArgb(m_nFadein, 0, 0, 0)
                },
                Mode = BlendEffectMode.Darken
            };

            args.DrawingSession.DrawImage(blendEffect, drawRectBig, m_BackgroundImage.Bounds);
            args.DrawingSession.DrawImage(m_BackgroundImageInitialAlpha, drawRectSmall, m_BackgroundImageInitialAlpha.Bounds);
            m_nFadein -= 50;
            if (m_nFadein <= 0)
            {
                m_ImageStatus = ImageLoadStatus.Complete;
            }
            Task.Delay(25).ContinueWith((t) => Dispatcher.RunAsync(CoreDispatcherPriority.Low, sender.Invalidate));
        }
コード例 #8
0
 public ImageStatusEventData(ImageLoadStatus loadStatus, ImageMetadata metadata)
 {
     LoadStatus = loadStatus;
     Metadata   = metadata;
 }
コード例 #9
0
 public ImageStatusEventData(ImageLoadStatus loadStatus)
     : this(loadStatus, default(ImageMetadata))
 {
 }
コード例 #10
0
 public ImageStatusEventData(ImageLoadStatus loadStatus, ImageMetadata metadata)
 {
     LoadStatus = loadStatus;
     Metadata = metadata;
 }
コード例 #11
0
 public ImageStatusEventData(ImageLoadStatus loadStatus)
     : this(loadStatus, default(ImageMetadata))
 {
 }