Exemple #1
0
        public static ImageLibrary FromStream(Stream inStream)
        {
            AowSerializer <ImageLibrary> serializer = new AowSerializer <ImageLibrary>();
            ImageLibrary ilb = serializer.Deserialize(inStream);

            ilb.DataStream = new MemoryStream();
            inStream.CopyTo(ilb.DataStream);

            return(ilb);
        }
Exemple #2
0
        public static BitmapSource LoadBitmap(AowImage image, ImageLibrary library)
        {
            IImageDataReader reader = ImageDataReaderProvider.ReaderFor(image);

            library.DataStream.Position = image.DataOffset;
            BitmapPalette palette     = library.Palettes.FirstOrDefault(p => p.Index == image.PaletteIndex);
            PixelFormat?  pixelFormat = null;

            if (palette == null)
            {
                switch (image.PaletteIndex)
                {
                case 1431343888:
                    pixelFormat = PixelFormats.Bgr555;
                    break;

                case 1448121104:
                    pixelFormat = PixelFormats.Bgr565;
                    break;
                }
            }

            return(reader.ReadData(image, library.DataStream, image.DataLength, palette, pixelFormat));
        }