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);
        }
Exemple #2
0
 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);
 }
Exemple #4
0
 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));