public SpriteSheetResourceData LoadSpriteSheetImage(string imagePath, Bitmap image) { if (!(Image.IsAlphaPixelFormat(image.PixelFormat))) { ImageHelper.AdjustImagePixelFormat(ref image); if (Image.IsAlphaPixelFormat(image.PixelFormat)) { Messager.ShowMessage(Messager.Mode.Message, "Image converted to alpha pixel format"); } } var spTex = new Texture(image); spTex.Options.Filter = Configuration.TextureFilterMode; var id = string.Format("{0}", _spriteSheetsImages.Count); var spriteSheetResourceData = new SpriteSheetResourceData(imagePath, id, spTex); _spriteSheetsImages.Add(id, spriteSheetResourceData); return(spriteSheetResourceData); }
public SpriteSheetResourceData LoadSpriteSheetFromSeparateImages(Bitmap[] images) { BitmapAtlas imageAtlas = new BitmapAtlas(); for (int i = 0; i < images.Length; i++) { var image = images[i]; if (!(Image.IsAlphaPixelFormat(image.PixelFormat))) { ImageHelper.AdjustImagePixelFormat(ref image); } imageAtlas.AddImage(i.ToString(), image); } var spTex = imageAtlas.ToTexture(PixelFormat.DefaultAlpha); var finalSpTex = SpriteSheetAndTextureFuncs.TrimmByAlpha(spTex); finalSpTex.Options.Filter = Configuration.TextureFilterMode; spTex.Dispose(); var id = string.Format("{0}", _spriteSheetsImages.Count); var spName = string.Format("AssembledSpriteSheet{0}", id); var spriteSheetResource = new SpriteSheetResourceData(spName, id, finalSpTex); _spriteSheetsImages.Add(id, spriteSheetResource); imageAtlas.Dispose(); return(spriteSheetResource); }