Beispiel #1
0
        public override ITextureAtlas Load(IEnumerable <string> filePaths, FontLoadingParameters loadingParameters)
        {
            (Bitmap bmp, string[] data)atlasData = FontToTextureAtlas(loadingParameters.Font.Name, loadingParameters.TextureHeight, loadingParameters.Characters);
            List <(string, int x, int y, int width, int height)> textureAtlasData = TextureAtlasLoader.ParseTextureAtlasData(atlasData.bmp, atlasData.data);

            //atlasData.bmp.Save("Test.png");

            //for (int i = 0; i < atlasData.data.Length; i++) {
            //    Log.WriteLine((i + 1) + " " + atlasData.data[i]);
            //}

            return(GraphicsHandler.CreateTextureAtlas(atlasData.bmp, TextureWrapMode.Clamp, TextureWrapMode.Clamp, TextureFilterMode.Nearest, TextureFilterMode.Nearest, textureAtlasData));
        }
        public override ITextureAtlas Load(IEnumerable <string> filePaths, TextureAtlasLoadingParameters loadingParameters)
        {
            string textureFile = filePaths.First();
            string regionFile  = filePaths.Last();

            Bitmap bmp = new Bitmap(textureFile);

            string[] rawRegionData;
            try {
                rawRegionData = File.ReadAllLines(regionFile);
            } catch (Exception) {
                Log.WriteLine("Cannot load texture atlas, region file not readable.", LogType.Error);
                return(null);
            }

            List <(string, int x, int y, int width, int height)> regionData = ParseTextureAtlasData(bmp, rawRegionData);

            return(GraphicsHandler.CreateTextureAtlas(bmp, loadingParameters.WrapS, loadingParameters.WrapT, loadingParameters.MinFilter, loadingParameters.MagFilter, regionData));
        }