/// Возвращает маску символа ввиде двумерного массива
 /// </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);
 }
Exemple #2
0
        /// <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);
        }