Example #1
0
 public static unsafe bool Load(System.IO.Stream stream, out PyramidLevelHeader header)
 {
     try
     {
         byte[] buffer = new byte[sizeof(PyramidLevelHeader)];
         if (stream.Read(buffer, 0, buffer.Length) != buffer.Length)
         {
             header = new PyramidLevelHeader();
             return(false);
         }
         header = PyramidLevelHeader.FromBytes(buffer);
         return(true);
     }
     catch
     {
         header = new PyramidLevelHeader();
         return(false);
     }
 }
Example #2
0
        private bool ReadPYX(string filename)
        {
            try
            {
                FileInfo fi = new FileInfo(filename);
                if (!fi.Exists)
                {
                    return(false);
                }

                StreamReader reader = new StreamReader(fi.FullName);
                PyramidFileHeader.Load(reader.BaseStream, out _header);

                _levelHeader = new List <PyramidLevelHeader>();
                for (int i = 0; i < _header.Levels; i++)
                {
                    PyramidLevelHeader levHeader;
                    PyramidLevelHeader.Load(reader.BaseStream, out levHeader);
                    _levelHeader.Add(levHeader);
                }

                _picHeader = new List <PyramidPictureHeader>();
                foreach (PyramidLevelHeader levHeader in _levelHeader)
                {
                    for (int i = 0; i < levHeader.numPictures; i++)
                    {
                        PyramidPictureHeader picHeader;
                        PyramidPictureHeader.Load(reader.BaseStream, out picHeader);
                        _picHeader.Add(picHeader);
                    }
                }
                reader.Close();
                return(true);
            }
            catch
            {
                return(false);
            }
        }