private static PixelFormat ReadPixelFormat(BinaryReader reader)
        {
            PixelFormatEnum format = (PixelFormatEnum)reader.ReadByte();

            switch (format)
            {
            case PixelFormatEnum.Bgr101010:
                return(PixelFormats.Bgr101010);

            case PixelFormatEnum.Bgr24:
                return(PixelFormats.Bgr24);

            case PixelFormatEnum.Bgr32:
                return(PixelFormats.Bgr32);

            case PixelFormatEnum.Bgr555:
                return(PixelFormats.Bgr555);

            case PixelFormatEnum.Bgr565:
                return(PixelFormats.Bgr565);

            case PixelFormatEnum.Bgra32:
                return(PixelFormats.Bgra32);

            case PixelFormatEnum.BlackWhite:
                return(PixelFormats.BlackWhite);

            case PixelFormatEnum.Cmyk32:
                return(PixelFormats.Cmyk32);

            case PixelFormatEnum.Default:
                return(PixelFormats.Default);

            case PixelFormatEnum.Gray16:
                return(PixelFormats.Gray16);

            case PixelFormatEnum.Gray2:
                return(PixelFormats.Gray2);

            case PixelFormatEnum.Gray32Float:
                return(PixelFormats.Gray32Float);

            case PixelFormatEnum.Gray4:
                return(PixelFormats.Gray4);

            case PixelFormatEnum.Gray8:
                return(PixelFormats.Gray8);

            case PixelFormatEnum.Indexed1:
                return(PixelFormats.Indexed1);

            case PixelFormatEnum.Indexed2:
                return(PixelFormats.Indexed2);

            case PixelFormatEnum.Indexed4:
                return(PixelFormats.Indexed4);

            case PixelFormatEnum.Indexed8:
                return(PixelFormats.Indexed8);

            case PixelFormatEnum.Pbgra32:
                return(PixelFormats.Pbgra32);

            case PixelFormatEnum.Prgba128Float:
                return(PixelFormats.Prgba128Float);

            case PixelFormatEnum.Prgba64:
                return(PixelFormats.Prgba64);

            case PixelFormatEnum.Rgb128Float:
                return(PixelFormats.Rgb128Float);

            case PixelFormatEnum.Rgb24:
                return(PixelFormats.Rgb24);

            case PixelFormatEnum.Rgb48:
                return(PixelFormats.Rgb48);

            case PixelFormatEnum.Rgba128Float:
                return(PixelFormats.Rgba128Float);

            case PixelFormatEnum.Rgba64:
                return(PixelFormats.Rgba64);

            default:
                throw new SerializerException(string.Format("Unsupported PixelFormat: {0}",
                                                            format.ToString()));
            }
        }