/// Возвращает маску символа ввиде двумерного массива /// </remarks> /// <param name="RowMask"> /// Маска символа по столбцам (каждый элемент массива определяет /// закрашивание столбца /// </param> /// <returns> /// Маска символа: 1-закрашенный пиксель, /// 0-пустой /// </returns> public byte[,] ComputePixelMask(byte[] RowMasks) { byte[,] res = new byte[this.verticalResolution, this.horizontalResolution]; for (int i = 0; i < this.horizontalResolution; i++) { byte[] bits = AppliedMath.DecToBin(RowMasks[i], 8); for (int j = 0; j < 8; j++) { res[j, i] = bits[j]; } } return(res); }
/// <summary> /// Возвращает бинарный код числа /// </summary> /// <param name="DC"> /// минимальное число разрядов, которые должен содержать код /// </param> public static byte[] DecToBin(int Value, int DC) { byte[] res = new byte[DC]; byte[] code = AppliedMath.DecToBin(Value); if (code.Length >= DC) { return(code); } int dx = DC - code.Length; for (int i = 0; i < DC; i++) { if (i < dx) { res[i] = 0; } else { res[i] = code[i - dx]; } } return(res); }