コード例 #1
0
ファイル: ImageACD.cs プロジェクト: zxc120/GARbro
        public override ImageData Read(IBinaryStream stream, ImageMetaData info)
        {
            var meta = (AcdMetaData)info;

            stream.Position = meta.DataOffset;
            using (var reader = new MrgLzssReader(stream, meta.PackedSize, meta.UnpackedSize))
            {
                reader.Unpack();
                var decoder = new AcdDecoder(reader.Data, meta);
                decoder.Unpack();
                return(ImageData.Create(info, PixelFormats.Gray8, null, decoder.Data));
            }
            throw new InvalidFormatException();
        }
コード例 #2
0
ファイル: ImageACD.cs プロジェクト: Casidi/GARbro
        public override ImageData Read(Stream stream, ImageMetaData info)
        {
            var meta = info as AcdMetaData;
            if (null == meta)
                throw new ArgumentException ("AcdFormat.Read should be supplied with AcdMetaData", "info");

            stream.Position = meta.DataOffset;
            using (var reader = new MrgLzssReader (stream, meta.PackedSize, meta.UnpackedSize))
            {
                reader.Unpack();
                var decoder = new AcdDecoder (reader.Data, meta);
                decoder.Unpack();
                return ImageData.Create (info, PixelFormats.Gray8, null, decoder.Data);
            }
            throw new InvalidFormatException();
        }
コード例 #3
0
        public override ImageData Read(Stream stream, ImageMetaData info)
        {
            var meta = info as AcdMetaData;

            if (null == meta)
            {
                throw new ArgumentException("AcdFormat.Read should be supplied with AcdMetaData", "info");
            }

            stream.Position = meta.DataOffset;
            using (var reader = new MrgLzssReader(stream, meta.PackedSize, meta.UnpackedSize))
            {
                reader.Unpack();
                var decoder = new AcdDecoder(reader.Data, meta);
                decoder.Unpack();
                return(ImageData.Create(info, PixelFormats.Gray8, null, decoder.Data));
            }
            throw new InvalidFormatException();
        }