protected virtual ZPlane ReadZPlane(BinaryReader b, int size, int numStrips) { var zPlaneData = b.ReadBytes(size); byte[] strips = null; var offsets = new List <int?>(); using (var ms = new MemoryStream(zPlaneData)) { var br = new BinaryReader(ms); var tableSize = 4 + numStrips * 2; ms.Seek(2, SeekOrigin.Current); // read table offsets for (int i = 0; i < numStrips; i++) { var offset = br.ReadUInt16(); if (offset != 0) { offsets.Add(offset - tableSize); } else { offsets.Add(null); } } strips = br.ReadBytes(size - tableSize); } var zPlane = new ZPlane(strips, offsets); return(zPlane); }
public Bitmap Decode(RoomBlock roomBlock, int zPlaneIndex) { var RMHD = roomBlock.GetRMHD(); _width = RMHD.Width; _height = RMHD.Height; _zPlane = roomBlock.GetRMIM().GetIM00().GetZPlanes()[zPlaneIndex]; Decode(); return(_resultBitmap); }
public void Encode(RoomBlock blockToEncode, Bitmap imageToEncode, int zPlaneIndex) { _imageToEncode = imageToEncode; var RMHD = blockToEncode.GetRMHD(); _width = RMHD.Width; _height = RMHD.Height; _zPlane = blockToEncode.GetRMIM().GetIM00().GetZPlanes()[zPlaneIndex]; Encode(); }
public Bitmap Decode(RoomBlock roomBlock, int objectIndex, int imageIndex, int zPlaneIndex) { var obj = roomBlock.GetOBIMs()[objectIndex]; ObjectImageHeader IMHD = obj.GetIMHD(); _width = IMHD.Width; _height = IMHD.Height; _zPlane = obj.GetIMxx()[imageIndex].GetZPlanes()[zPlaneIndex]; Decode(); return(_resultBitmap); }
public void Encode(RoomBlock blockToEncode, int objectIndex, int imageIndex, Bitmap imageToEncode, int zPlaneIndex) { var obj = blockToEncode.GetOBIMs()[objectIndex]; _imageToEncode = imageToEncode; ObjectImageHeader IMHD = obj.GetIMHD(); _width = IMHD.Width; _height = IMHD.Height; _zPlane = obj.GetIMxx()[imageIndex].GetZPlanes()[zPlaneIndex]; Encode(); }
public override void SetAndRefreshData(Structures.BlockBase blockBase) { base.SetAndRefreshData(blockBase); _zPlane = (ZPlane)blockBase; StripCount.Text = "Number of Strips: " + _zPlane.Strips.Count; Strips.Items.Clear(); foreach (ZPlaneStripData zPlaneStripData in _zPlane.Strips) { ListViewItem item = Strips.Items.Add(zPlaneStripData.OffSet.ToString()); item.SubItems.Add(zPlaneStripData.ImageData.Length.ToString()); } Strips.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); }