private StciRgb LoadStciRgb(BinaryReader aReader, Ja2Data.StciHeader aHeader) { StciRgb _newStciRgb = new StciRgb(); Ja2Data.StciRgb _stciRgb = new Ja2Data.StciRgb(aHeader); Ja2Data.StciRgbHeader _subHeader = (Ja2Data.StciRgbHeader)_stciRgb.Header.SubHeader; _newStciRgb.AlphaDepth = _subHeader.AlphaDepth; _newStciRgb.AlphaMask = (int)_subHeader.AlphaMask; _newStciRgb.BlueDepth = _subHeader.BlueDepth; _newStciRgb.BlueMask = (int)_subHeader.BlueMask; _newStciRgb.GreenDepth = _subHeader.GreenDepth; _newStciRgb.GreenMask = (int)_subHeader.GreenMask; _newStciRgb.RedDepth = _subHeader.RedDepth; _newStciRgb.RedMask = (int)_subHeader.RedMask; _newStciRgb.DateCreated = DateTime.Now; _newStciRgb.UserId = this.FUserId; int _imageSize = (int)_stciRgb.Header.OriginalImageSize; UnstructuredData _data = new UnstructuredData(); _data.Data = aReader.ReadBytes(_imageSize); _data.UserId = this.FUserId; _data.DateCreated = DateTime.Now; this.FUnstructuredData.Add(_data); _newStciRgb.UnstructuredData = _data; return(_newStciRgb); }
private byte[] DownloadStciRgb(SlfRecordStci aStciRecord, int aDataLength) { Ja2Data.StciHeader _header = DownloadStciHeader(aStciRecord); StciRgb _rgbRec = aStciRecord.StciRgb.First(); Ja2Data.StciRgbHeader _subHeader = new Ja2Data.StciRgbHeader(); _subHeader.AlphaDepth = _rgbRec.AlphaDepth; _subHeader.AlphaMask = (uint)_rgbRec.AlphaMask; _subHeader.BlueDepth = _rgbRec.BlueDepth; _subHeader.BlueMask = (uint)_rgbRec.BlueMask; _subHeader.GreenDepth = _rgbRec.GreenDepth; _subHeader.GreenMask = (uint)_rgbRec.GreenMask; _subHeader.RedDepth = _rgbRec.RedDepth; _subHeader.RedMask = (uint)_rgbRec.RedMask; _header.SubHeader = _subHeader; Ja2Data.StciRgb _stciRgb = new Ja2Data.StciRgb(_header); _stciRgb.ImageData = _rgbRec.UnstructuredData.Data; byte[] _buffer = new byte[aDataLength]; using (MemoryStream _ms = new MemoryStream(_buffer)) { _stciRgb.Save(_ms); } return(_buffer); }