protected void fillLine(FrequencyData curFrq, SignalResponse curSignal, byte[] samples, byte component, int i) { // component - 0 для о-компоненты, 1 для х-компоненты // i - номер частоты (ось Х) int j, j_beg, k; if (!_contentInfo.read_error) { j_beg = (int)((curSignal.height_begin - _header.height_min) / _header.height_step); // j_beg - начальный номер высоты (ось Y) for (k = 0; k < curSignal.count_samples; k++) { j = (int)_header.count_height - 1 - (j_beg + k); switch (component) { case 0: // красным рисуем о-компоненту _image_o.SetPixel(i, j, MapRainbowColor(samples[k], _contentInfo.max_o, _contentInfo.min_o)); break; case 1: // зеленым рисуем х-компоненту _image_x.SetPixel(i, j, MapRainbowColor(samples[k], _contentInfo.max_x, _contentInfo.min_x)); break; } } } }
protected SignalResponse readSignalResponse(BinaryReader reader) { SignalResponse tmp = new SignalResponse(); tmp.height_begin = reader.ReadUInt32(); //!< начальная высота, [м] tmp.count_samples = reader.ReadUInt16(); //!< Число дискретов return(tmp); }