public override void EnterLoading() { if (imageFiles != null && imageFiles.Length > 0) { if (currentImage != null) { RemoveChild(currentImage); currentImage.Dispose(); currentImage = null; } var index = new Random().Next(imageFiles.Length); currentImage = new PictureObject(device, ResourceManager, PathObject.Absolute(imageFiles[index]), true) { Position = new Vector2(400, 225) }; var aspect = currentImage.Width / currentImage.Height; var displayAspect = 16 / 9f; Vector2 scale; if (aspect > displayAspect) { scale = new Vector2(800 / currentImage.Width); } else { scale = new Vector2(450 / currentImage.Height); } currentImage.Scale = scale; AddChild(currentImage); } }