Пример #1
0
        internal override void LoadImage(UIConfig.ImageSettings imageSettings, byte[] filedata)
        {
            config = imageSettings;

            mgGif.Decoder decoder = new mgGif.Decoder(filedata);

            var img = decoder.NextImage();

            frameDelayMS = img.Delay;

            List <Texture2D> images = new List <Texture2D>();

            while (img != null)
            {
                Texture2D newtexture = img.CreateTexture(config.Filter);
                newtexture.hideFlags = HideFlags.HideAndDontSave;
                newtexture.DontDestroyOnLoad();

                images.Add(newtexture);
                img = decoder.NextImage();
            }

            textures    = images.ToArray();
            MainTexture = textures[0];
            AspectRatio = MainTexture.width / (float)MainTexture.height;

            AllElements.Add(this);
        }
Пример #2
0
        internal static Objects.UI_Image LoadImage(UIConfig.ImageSettings imageSettings, string filename)
        {
            string filepath = ScanForFile(UIConfig.ThemePath, filename, new string[] { ".gif", ".png", ".jpg", ".jpeg" });

            if (string.IsNullOrEmpty(filepath))
            {
                return(null);
            }

            string fileext = Path.GetExtension(filepath).ToLowerInvariant();

            if (fileext.Equals(".gif"))
            {
                return(new Objects.UI_AnimatedImage(imageSettings, filepath));
            }

            if (fileext.Equals(".png") ||
                fileext.Equals(".jpg") ||
                fileext.Equals(".jpeg"))
            {
                return(new Objects.UI_Image(imageSettings, filepath));
            }

            return(null);
        }
Пример #3
0
        internal override void LoadImage(UIConfig.ImageSettings imageSettings, byte[] filedata)
        {
            config = imageSettings;

            mgGif.Decoder decoder = new mgGif.Decoder(filedata);

            var img = decoder.NextImage();

            frameDelayMS = img.Delay;

            List <Texture2D> images = new List <Texture2D>();

            while (img != null)
            {
                images.Add(img.CreateTexture(config.Filter));
                img = decoder.NextImage();
            }

            textures    = images.ToArray();
            MainTexture = textures[0];
            AspectRatio = MainTexture.width / (float)MainTexture.height;
        }
Пример #4
0
 internal UI_AnimatedImage(UIConfig.ImageSettings imageSettings, byte[] filedata) : base(imageSettings, filedata)
 {
 }
Пример #5
0
 internal UI_AnimatedImage(UIConfig.ImageSettings imageSettings, string filepath) : base(imageSettings, filepath)
 {
 }
Пример #6
0
 internal UI_Image(UIConfig.ImageSettings imageSettings, string filepath) => LoadImage(imageSettings, File.ReadAllBytes(filepath));