示例#1
0
        public static SpriteSetModel FromImageModel(IModelsProvider dataProvider, IDbSpriteAtlasFromImage entry)
        {
            var image = dataProvider.GetModel <Bitmap>(entry.DataRef);

            var spriteSetBuilder = SpriteSetBuilder.NewSpriteSet();

            for (int i = 0; i < entry.Sprites.Count; i++)
            {
                var spriteDef = entry.Sprites[i];

                var spriteBuilder = SpriteBuilder.NewSprite();
                spriteBuilder.SetIndex(i);
                spriteBuilder.SetSize(spriteDef.Width, spriteDef.Height);
                var cutout = new Rectangle(spriteDef.X, spriteDef.Y, spriteDef.Width, spriteDef.Height);
                var bytes  = BitmapHelper.ToBytes(image, cutout);
                spriteBuilder.SetData(bytes);

                spriteSetBuilder.AddSprite(spriteBuilder.Build());
            }


            return(spriteSetBuilder.Build());
        }
示例#2
0
 private SpriteSetModel GetModelImpl(IDbSpriteAtlasFromImage entry)
 {
     return(SpriteAtlasDataHelper.FromImageModel(dataProvider, entry));
 }