Beispiel #1
0
 public byte[] ReadImageAsByteArray([NotNull] FirmwareImageMetadata imageMetadata)
 {
     if (imageMetadata == null)
     {
         throw new ArgumentNullException("imageMetadata");
     }
     return(m_bodyStream.ReadBytes((int)imageMetadata.DataOffset, (int)imageMetadata.DataLength + FirmwareImageMetadata.HeaderLength));
 }
Beispiel #2
0
        public bool[,] ReadImage([NotNull] FirmwareImageMetadata imageMetadata)
        {
            if (imageMetadata == null)
            {
                throw new ArgumentNullException("imageMetadata");
            }

            var imageData = m_bodyStream.ReadBytes((int)imageMetadata.DataOffset + FirmwareImageMetadata.HeaderLength, (int)imageMetadata.DataLength);

            return(imageMetadata.Load(imageData));
        }
Beispiel #3
0
        public void WriteImage([NotNull] bool[,] imageData, [NotNull] FirmwareImageMetadata imageMetadata)
        {
            if (imageData == null)
            {
                throw new ArgumentNullException("imageData");
            }
            if (imageMetadata == null)
            {
                throw new ArgumentNullException("imageMetadata");
            }

            var width  = imageData.GetLength(0);
            var height = imageData.GetLength(1);

            if (width != imageMetadata.Width || height != imageMetadata.Height)
            {
                throw new InvalidDataException("Image data does not correspond to the metadata.");
            }

            var imageBytes = imageMetadata.Save(imageData);

            m_bodyStream.WriteBytes((int)imageMetadata.DataOffset, imageBytes);
        }