Exemplo n.º 1
0
        public override async void ViewDidLoad()
        {
            base.ViewDidLoad();
            CanvasView.PaintSurface += CanvasView_PaintSurface;
            var pan  = new NSPanGestureRecognizer(MapPanned);
            var zoom = new NSMagnificationGestureRecognizer(MapZoomed);

            _screenScale = (float)NSScreen.MainScreen.BackingScaleFactor;
            _canvasSize  = new SKSize(20000, 2000);

            CanvasView.AddGestureRecognizer(zoom);
            CanvasView.AddGestureRecognizer(pan);

            //load images
            for (int i = 1; i < 16; i++)
            {
                var img = await ImageService.Instance.LoadFileFromApplicationBundle("img/img" + i + ".jpg").AsNSImageAsync();

                var sizeRandom = rand.NextDouble() * (1.2 - 0.2) + 0.2;
                var size       = new SKSize((float)(img.Size.Width * sizeRandom), (float)(img.Size.Height * sizeRandom));
                var rect       = SKRect.Empty;
                rect.Size = size;
                var pointRandomW = rand.NextDouble() * (_canvasSize.Width - 0) + 0;
                var pointRandomH = rand.NextDouble() * (_canvasSize.Height - 0) + 0;

                rect.Location = new SKPoint((float)pointRandomW, (float)pointRandomH);
                rects.Add(rect);
                imgs.Add(img.ToSKImage());
            }
        }