예제 #1
0
        public static void SetUnselectedIcon(Button button, string url)
        {
            var imageVisual = new ImageVisual();

            imageVisual.URL = url;
            //button.UnselectedBackgroundVisual = imageVisual.OutputVisualMap;
        }
예제 #2
0
        public void Present(Scan scan)
        {
            var imageViewer      = viewModel.ImageViewer;
            int centerImageIndex = scan.Volume.Slices.Count / 2;
            var firstImage       = scan.Volume.Slices[centerImageIndex];

            _imageVisual = new ImageVisual(scan.Volume);
            _imageVisual.SetImageIndex(centerImageIndex);
            imageViewer.ImageVisual = _imageVisual;
            imageViewer.Visuals.Add(_imageVisual);

            imageViewer.Tools.IsScrollActive = true;
            imageViewer.Camera.Zoom          = firstImage.Height * firstImage.PixelSpacing.Y * 0.5;
            imageViewer.Camera.ViewportPan   = Matrix.Translation(new Vector3(firstImage.Width * firstImage.PixelSpacing.X / 2, firstImage.Height * firstImage.PixelSpacing.Y / 2, 0));

            imageViewer.WindowLevel = firstImage.WindowLevel;
            imageViewer.WindowWidth = firstImage.WindowWidth;
            var levelMin = firstImage.WindowLevel - firstImage.WindowWidth / 2;
            var levelMax = firstImage.WindowLevel + firstImage.WindowWidth / 2;

            imageViewer.Min = Math.Min(levelMin, firstImage.MinRescaledValue);
            imageViewer.Max = Math.Max(levelMax, firstImage.MaxRescaledValue);
            var range = imageViewer.Max - imageViewer.Min;

            imageViewer.Min -= range / 2;
            imageViewer.Max += range / 2;
            viewModel.SwitchTo2DCommand.Execute(null);
        }
예제 #3
0
        // The parameter, index, is for the index of either oddArray or evenArray.
        private void CreateIndicator(int index)
        {
            if (circularPaginationStyle == null || circularPaginationStyle.IndicatorSize == null)
            {
                return;
            }

            ImageVisual indicator = new ImageVisual
            {
                URL     = circularPaginationStyle.IndicatorImageURL?.Normal,
                Size    = new Size2D((int)circularPaginationStyle.IndicatorSize.Width, (int)circularPaginationStyle.IndicatorSize.Height),
                Opacity = 0.5f,
            };

            if (isOddNumber)
            {
                indicator.Position = oddArray[index];
            }
            else
            {
                indicator.Position = evenArray[index];
            }

            container.AddVisual("Indicator" + indicatorList.Count, indicator);
            indicatorList.Add(indicator);
        }
예제 #4
0
        private void UpdateAsymmetry()
        {
            if (null == circularPaginationStyle.IndicatorSize)
            {
                return;
            }
            if (null == circularPaginationStyle.IndicatorImageURL)
            {
                return;
            }

            int listCount = indicatorList.Count;

            for (int i = 0; i < listCount; i++)
            {
                container.RemoveVisual("Indicator" + i);
            }
            container.RemoveAll();
            indicatorList.Clear();

            for (int i = 0; i < listCount; i++)
            {
                ImageVisual newOne = new ImageVisual
                {
                    Size     = new Size2D((int)circularPaginationStyle.IndicatorSize.Width, (int)circularPaginationStyle.IndicatorSize.Height),
                    Position = oddArray[i + (middleIndex - leftIndicatorCount)]
                };

                if (isCenterImageSet && !isSymmetrical && (i == leftIndicatorCount))
                {
                    newOne.URL = circularPaginationStyle.CenterIndicatorImageURL.Normal;
                }
                else
                {
                    newOne.URL = circularPaginationStyle.IndicatorImageURL.Normal;
                }
                newOne.Opacity = 0.5f;
                container.AddVisual("Indicator" + i, newOne);
                indicatorList.Add(newOne);
            }

            // If selectedIndex is not set yet, the default value is middle index.
            if (selectedIndex == -1)
            {
                selectedIndex = leftIndicatorCount;
            }

            if (isCenterImageSet && (selectedIndex == leftIndicatorCount))
            {
                indicatorList[selectedIndex].URL     = circularPaginationStyle.CenterIndicatorImageURL.Selected;
                indicatorList[selectedIndex].Opacity = 1.0f;
            }
            else
            {
                indicatorList[selectedIndex].URL     = circularPaginationStyle.IndicatorImageURL.Selected;
                indicatorList[selectedIndex].Opacity = 1.0f;
            }
        }
예제 #5
0
        public void Initialize()
        {
            Window window = Window.Instance;

            /* Create a visual view. */
            _visualView = new VisualView();
            _visualView.ParentOrigin = ParentOrigin.TopLeft;
            _visualView.PivotPoint   = PivotPoint.TopLeft;
            _visualView.Size2D       = new Size2D(window.Size.Width, window.Size.Height);

            /* color visual */
            ColorVisual colorVisualMap1 = new ColorVisual();

            colorVisualMap1.Color  = Color.Green;
            _visualView.Background = colorVisualMap1.OutputVisualMap;

            window.Add(_visualView);

            /* image visual 1. No transform setting case. */
            imageVisualMap1            = new ImageVisual();
            imageVisualMap1.URL        = resources + "/images/image-1.jpg";
            imageVisualMap1.DepthIndex = 1;
            //_visualView.AddVisual("imageVisual1", imageVisualMap1);

            /* image visual 2. Using RelativePosition and SizePolicyWidth setting case. */
            imageVisualMap2     = new ImageVisual();
            imageVisualMap2.URL = resources + "/images/image-2.jpg";
            /* Using Size, you can set SizePolicyWidth and SizePolicyHeight separately, default by relative. */
            imageVisualMap2.Size = new Vector2(400.0f, 0.3f);
            /* Using RelativePosition, then PositionPolicyX and PositionPolicyY will be relative. */
            imageVisualMap2.RelativePosition = new Vector2(0.1f, 0.1f);
            imageVisualMap2.SizePolicyWidth  = VisualTransformPolicyType.Absolute;
            imageVisualMap2.Origin           = Visual.AlignType.TopBegin;
            imageVisualMap2.AnchorPoint      = Visual.AlignType.TopBegin;
            /* Ensure imageVisual show  */
            imageVisualMap2.DepthIndex = 9;
            _visualView.AddVisual("imageVisual2", imageVisualMap2);

            /* If imageVisual2 added first, the it will be covered by imageVisual1.
             * so, we need to set their depth index to ensure they all can be showed.
             */
            _visualView.AddVisual("imageVisual1", imageVisualMap1);

            _window = Window.Instance;
            _window.FocusChanged += (sender, ee) =>
            {
                cnt++;
                Tizen.Log.Debug("NUI", "[WindowFocusTest] WindowFocusChanged event comes! focus gained=" + ee.FocusGained);
            };

            Tizen.Log.Debug("NUI", "[WindowFocusTest] is focus acceptable=" + _window.IsFocusAcceptable());
            _window.SetAcceptFocus(false);
            Tizen.Log.Debug("NUI", "[WindowFocusTest] set focus acceptable=false!!!");
            Tizen.Log.Debug("NUI", "[WindowFocusTest] is focus acceptable=" + _window.IsFocusAcceptable());
            _window.SetAcceptFocus(true);
            Tizen.Log.Debug("NUI", "[WindowFocusTest] set focus acceptable=true!!!");
            Tizen.Log.Debug("NUI", "[WindowFocusTest] is focus acceptable=" + _window.IsFocusAcceptable());
        }
예제 #6
0
        // Create an ImageVisual which represents the button
        private static ImageVisual CreateButton(IOrientedRectangle layout)
        {
            var imageVisual = new ImageVisual {
                Image     = Resources.edit_label,
                Rectangle = new RectD(layout.Width - (inset + buttonWidth), inset, buttonWidth, layout.Height - inset * 2)
            };

            return(imageVisual);
        }
예제 #7
0
        public static View Create(string imagePath)
        {
            View        maskedImage = new ImageView();
            ImageVisual imageVisual = new ImageVisual();

            imageVisual.URL          = imagePath;
            imageVisual.AlphaMaskURL = IMAGE_MASK;
            maskedImage.Background   = imageVisual.OutputVisualMap;

            return(maskedImage);
        }
        /// <summary>
        /// The method to create the image visual with the ImageNumber-th image
        /// </summary>
        /// <param name="ImageNumber"> The number of the image </param>
        /// <returns> The created ImageView </returns>
        private ImageVisual CreateImageVisual(uint ImageNumber)
        {
            ImageVisual ThisImageVisual = new ImageVisual();

            ThisImageVisual.URL         = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "images/page" + ImageNumber.ToString() + ".png";
            ThisImageVisual.Size        = new Vector2(600, 900);
            ThisImageVisual.Origin      = Visual.AlignType.CenterBegin;
            ThisImageVisual.AnchorPoint = Visual.AlignType.CenterBegin;

            return(ThisImageVisual);
        }
예제 #9
0
        private void OnTimerTick(object sender, EventArgs e)
        {
            if (ImageVisual == null)
            {
                return;
            }
            int index = ImageVisual.GetImageIndex();

            index = (index + 1) % ImageVisual.GetNumberOfImages();
            ImageVisual.SetImageIndex(index);
        }
예제 #10
0
        private void NextImage()
        {
            if (ImageVisual == null)
            {
                return;
            }
            _playTimer.Stop();
            int index = ImageVisual.GetImageIndex();

            index = (index + 1) % ImageVisual.GetNumberOfImages();
            ImageVisual.SetImageIndex(index);
        }
예제 #11
0
        public void ImageVisualConstructor()
        {
            tlog.Debug(tag, $"ImageVisualConstructor START");

            var testingTarget = new ImageVisual();

            Assert.IsNotNull(testingTarget, "Can't create success object ImageVisual");
            Assert.IsInstanceOf <ImageVisual>(testingTarget, "Should be an instance of ColorVisualMap type.");

            testingTarget.Dispose();
            tlog.Debug(tag, $"ImageVisualConstructor END (OK)");
        }
예제 #12
0
        private void ImageExportToPreview()
        {
            Image image = ImageExport();

            ImageVisual imageVisual = new ImageVisual(image);

            if (previewCanvas.RootGroup.First != null)
            {
                previewCanvas.RootGroup.First.Remove();
            }
            previewCanvas.RootGroup.AddChild(imageVisual, CanvasObjectDescriptors.Visual);
            previewCanvas.ContentRect = exportRect.ToRectD().GetEnlarged(20);
        }
        /// <summary>
        /// Helper function to create ImageViews with given filename and size..<br />
        /// </summary>
        /// <param name="filename"> The filename of the image to use.</param>
        /// <param name="size"> The size that the image should be loaded at.</param>
        /// <returns>The created ImageView.</returns>
        ImageView CreateChildImageView(String url, Size2D size)
        {
            ImageView   imageView   = new ImageView();
            ImageVisual imageVisual = new ImageVisual();

            imageVisual.URL              = url;
            imageVisual.DesiredHeight    = size.Height;
            imageVisual.DesiredWidth     = size.Width;
            imageView.Image              = imageVisual.OutputVisualMap;
            imageView.Name               = "ImageView";
            imageView.HeightResizePolicy = ResizePolicyType.Fixed;
            imageView.WidthResizePolicy  = ResizePolicyType.Fixed;
            return(imageView);
        }
        private void AddImageVisualForFollower(Uri imageUri, Vector3 offset, Vector2 size)
        {
            //Load profile image into a CompositionImage
            CompositionImage profileImage =
                _compositor.DefaultGraphicsDevice.CreateImageFromUri(imageUri);

            ImageVisual profileImageVisual = _compositor.CreateImageVisual();

            profileImageVisual.Image  = profileImage;
            profileImageVisual.Size   = size;
            profileImageVisual.Offset = offset;

            _rootVisual.Children.InsertAtTop(profileImageVisual);
        }
예제 #15
0
        public void ImageVisualDesiredHeight()
        {
            tlog.Debug(tag, $"ImageVisualDesiredHeight START");

            var testingTarget = new ImageVisual();

            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
            Assert.IsInstanceOf <ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");

            testingTarget.DesiredHeight = 3;
            Assert.AreEqual(3, testingTarget.DesiredHeight, "Retrieved DesiredHeight should be equal to set value");

            testingTarget.Dispose();
            tlog.Debug(tag, $"ImageVisualDesiredHeight END (OK)");
        }
예제 #16
0
        public void ImageVisualSynchronousLoading()
        {
            tlog.Debug(tag, $"ImageVisualSynchronousLoading START");

            var testingTarget = new ImageVisual();

            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
            Assert.IsInstanceOf <ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");

            testingTarget.SynchronousLoading = true;
            Assert.AreEqual(true, testingTarget.SynchronousLoading, "Retrieved SynchronousLoading should be equal to set value");

            testingTarget.Dispose();
            tlog.Debug(tag, $"ImageVisualSynchronousLoading END (OK)");
        }
예제 #17
0
        public void ImageVisualBorderOnly()
        {
            tlog.Debug(tag, $"ImageVisualBorderOnly START");

            var testingTarget = new ImageVisual();

            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
            Assert.IsInstanceOf <ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");

            testingTarget.BorderOnly = true;
            Assert.AreEqual(true, testingTarget.BorderOnly, "Retrieved BorderOnly should be equal to set value");

            testingTarget.Dispose();
            tlog.Debug(tag, $"ImageVisualBorderOnly END (OK)");
        }
예제 #18
0
        protected override void OnUpdate()
        {
            for (int i = 0; i < indicatorList.Count; i++)
            {
                ImageVisual indicator = indicatorList[i];
                indicator.URL      = paginationAttributes.IndicatorBackgroundURL;
                indicator.Size     = paginationAttributes.IndicatorSize;
                indicator.Position = new Position2D((int)(paginationAttributes.IndicatorSize.Width + paginationAttributes.IndicatorSpacing) * i, 0);
            }

            selectIndicator.URL  = paginationAttributes.IndicatorSelectURL;
            selectIndicator.Size = paginationAttributes.IndicatorSize;

            //UpdateContainer();
        }
예제 #19
0
        public void ImageVisualWrapModeV()
        {
            tlog.Debug(tag, $"ImageVisualWrapModeV START");

            var testingTarget = new ImageVisual();

            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
            Assert.IsInstanceOf <ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");

            testingTarget.WrapModeV = WrapModeType.ClampToEdge;
            Assert.AreEqual(WrapModeType.ClampToEdge, testingTarget.WrapModeV, "Retrieved WrapModeV should be equal to set value");

            testingTarget.Dispose();
            tlog.Debug(tag, $"ImageVisualWrapModeV END (OK)");
        }
예제 #20
0
        public void ImageVisualAuxiliaryImageAlpha()
        {
            tlog.Debug(tag, $"ImageVisualAuxiliaryImageAlpha START");

            var testingTarget = new ImageVisual();

            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
            Assert.IsInstanceOf <ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");

            testingTarget.AuxiliaryImageAlpha = 0.9f;
            Assert.AreEqual(0.9f, testingTarget.AuxiliaryImageAlpha, "Retrieved AuxiliaryImageAlpha should be equal to set value");

            testingTarget.Dispose();
            tlog.Debug(tag, $"ImageVisualAuxiliaryImageAlpha END (OK)");
        }
예제 #21
0
        public void ImageVisualURL()
        {
            tlog.Debug(tag, $"ImageVisualURL START");

            var testingTarget = new ImageVisual();

            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
            Assert.IsInstanceOf <ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");

            testingTarget.URL = "URL";
            Assert.AreEqual("URL", testingTarget.URL, "Retrieved URL should be equal to set value");

            testingTarget.Dispose();
            tlog.Debug(tag, $"ImageVisualURL END (OK)");
        }
예제 #22
0
        public void ImageVisualCropToMask()
        {
            tlog.Debug(tag, $"ImageVisualCropToMask START");

            var testingTarget = new ImageVisual();

            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
            Assert.IsInstanceOf <ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");

            testingTarget.CropToMask = false;
            Assert.AreEqual(false, testingTarget.CropToMask, "Retrieved CropToMask should be equal to set value");

            testingTarget.Dispose();
            tlog.Debug(tag, $"ImageVisualCropToMask END (OK)");
        }
예제 #23
0
        public void ImageVisualOrientationCorrection()
        {
            tlog.Debug(tag, $"ImageVisualOrientationCorrection START");

            var testingTarget = new ImageVisual();

            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
            Assert.IsInstanceOf <ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");

            testingTarget.OrientationCorrection = true;
            Assert.IsTrue(testingTarget.OrientationCorrection, "Retrieved OrientationCorrection should be equal to set value");

            testingTarget.Dispose();
            tlog.Debug(tag, $"ImageVisualOrientationCorrection END (OK)");
        }
예제 #24
0
        public void ImageVisualMaskContentScale()
        {
            tlog.Debug(tag, $"ImageVisualMaskContentScale START");

            var testingTarget = new ImageVisual();

            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
            Assert.IsInstanceOf <ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");

            testingTarget.MaskContentScale = 1.0f;
            Assert.AreEqual(1.0f, testingTarget.MaskContentScale, "Retrieved MaskContentScale should be equal to set value");

            testingTarget.Dispose();
            tlog.Debug(tag, $"ImageVisualMaskContentScale END (OK)");
        }
예제 #25
0
        public void ImageVisualLoadPolicy()
        {
            tlog.Debug(tag, $"ImageVisualLoadPolicy START");

            var testingTarget = new ImageVisual();

            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
            Assert.IsInstanceOf <ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");

            testingTarget.LoadPolicy = LoadPolicyType.Immediate;
            Assert.AreEqual(LoadPolicyType.Immediate, testingTarget.LoadPolicy, "Retrieved LoadPolicy should be equal to set value");

            testingTarget.Dispose();
            tlog.Debug(tag, $"ImageVisualLoadPolicy END (OK)");
        }
예제 #26
0
        public void ImageVisualFittingMode()
        {
            tlog.Debug(tag, $"ImageVisualFittingMode START");

            var testingTarget = new ImageVisual();

            Assert.IsNotNull(testingTarget, "Can't create success object AnimatedImageVisual");
            Assert.IsInstanceOf <ImageVisual>(testingTarget, "Should be an instance of ImageVisual type.");

            testingTarget.FittingMode = FittingModeType.FitHeight;
            Assert.AreEqual(FittingModeType.FitHeight, testingTarget.FittingMode, "Retrieved FittingMode should be equal to set value");

            testingTarget.Dispose();
            tlog.Debug(tag, $"ImageVisualFittingMode END (OK)");
        }
예제 #27
0
        private void CreateIndicator()
        {
            if (paginationAttributes == null)
            {
                return;
            }
            ImageVisual indicator = new ImageVisual
            {
                URL  = paginationAttributes.IndicatorBackgroundURL,
                Size = paginationAttributes.IndicatorSize
            };

            indicator.Position = new Position2D((int)(paginationAttributes.IndicatorSize.Width + paginationAttributes.IndicatorSpacing) * indicatorList.Count, 0);
            container.AddVisual("Indicator" + indicatorList.Count, indicator);
            indicatorList.Add(indicator);
        }
예제 #28
0
        private void CreateIndicator()
        {
            if (paginationStyle == null)
            {
                return;
            }
            ImageVisual indicator = new ImageVisual
            {
                URL  = paginationStyle.IndicatorImageURL.Normal,
                Size = new Size2D((int)paginationStyle.IndicatorSize.Width, (int)paginationStyle.IndicatorSize.Height)
            };

            indicator.Position = new Position2D((int)(paginationStyle.IndicatorSize.Width + paginationStyle.IndicatorSpacing) * indicatorList.Count, 0);
            container.AddVisual("Indicator" + indicatorList.Count, indicator);
            indicatorList.Add(indicator);
        }
예제 #29
0
        private void PreviousImage()
        {
            if (ImageVisual == null)
            {
                return;
            }
            _playTimer.Stop();
            int index = ImageVisual.GetImageIndex();

            index--;
            if (index < 0)
            {
                index = ImageVisual.GetNumberOfImages() - 1;
            }
            ImageVisual.SetImageIndex(index);
        }
예제 #30
0
        // Helper functions
        public static ImageView CreateImageViewFromUrl(String url, Size2D size)
        {
            ImageVisual imageVisual = new ImageVisual()
            {
                URL = url,
            };

            ImageView imageView = new ImageView()
            {
                Name = "ImageView" + url,
                WidthSpecification  = size.Height, // Force to be a square
                HeightSpecification = size.Height,
                Image = imageVisual.OutputVisualMap,
            };

            return(imageView);
        }