private bool OnLoad(Guid key, out ISurface surface) { var texture = _animationData.Textures.SingleOrDefault(x => x.Id == key); if (texture != null) { var fileName = Path.Combine(_directory, texture.Name); if (File.Exists(fileName)) { var colorFilter = texture.Transparencies.Select(x => System.Drawing.Color.FromArgb( (byte)(x >> 0), (byte)(x >> 24), (byte)(x >> 16), (byte)(x >> 8))) .ToArray(); surface = _drawing.CreateSurface(fileName, colorFilter); return(true); } } surface = null; return(false); }
public static ISurface CreateSurface(this IDrawing drawing, IImageRead image) => drawing .CreateSurface(image.Size.Width, image.Size.Height, Xe.Drawing.PixelFormat.Format32bppArgb, SurfaceType.Input, new DataResource { Data = image.AsBgra8888(), Stride = image.Size.Width * 4 });
private void InitializeSurface(ref ISurface surface, IImageRead image) { surface?.Dispose(); surface = _drawing?.CreateSurface(image); }
public static ISurface CreateSurface(this IDrawing drawing, IImageRead image) => drawing .CreateSurface(image.Size.Width, image.Size.Height, Xe.Drawing.PixelFormat.Format32bppArgb, SurfaceType.Input, GetDataResource(image));