BarcodeGenerator::qr_finalize_matrix

  1. Bitrix24 API (v. 23.675.0)
  2. ui
  3. BarcodeGenerator
  4. qr_finalize_matrix
  • Модуль: ui
  • Путь к файлу: ~/bitrix/modules/ui/lib/barcode/barcodegenerator.php
  • Класс: BitrixUIBarcodeBarcodeGenerator
  • Вызов: BarcodeGenerator::qr_finalize_matrix
private function qr_finalize_matrix(
	$matrix, $size, $ecl, $mask, $version
) {
	/* Format Info */
	$format = $this->qr_format_info[$ecl * 8 + $mask];
	$matrix[8][0] = $format[0];
	$matrix[8][1] = $format[1];
	$matrix[8][2] = $format[2];
	$matrix[8][3] = $format[3];
	$matrix[8][4] = $format[4];
	$matrix[8][5] = $format[5];
	$matrix[8][7] = $format[6];
	$matrix[8][8] = $format[7];
	$matrix[7][8] = $format[8];
	$matrix[5][8] = $format[9];
	$matrix[4][8] = $format[10];
	$matrix[3][8] = $format[11];
	$matrix[2][8] = $format[12];
	$matrix[1][8] = $format[13];
	$matrix[0][8] = $format[14];
	$matrix[$size - 1][8] = $format[0];
	$matrix[$size - 2][8] = $format[1];
	$matrix[$size - 3][8] = $format[2];
	$matrix[$size - 4][8] = $format[3];
	$matrix[$size - 5][8] = $format[4];
	$matrix[$size - 6][8] = $format[5];
	$matrix[$size - 7][8] = $format[6];
	$matrix[8][$size - 8] = $format[7];
	$matrix[8][$size - 7] = $format[8];
	$matrix[8][$size - 6] = $format[9];
	$matrix[8][$size - 5] = $format[10];
	$matrix[8][$size - 4] = $format[11];
	$matrix[8][$size - 3] = $format[12];
	$matrix[8][$size - 2] = $format[13];
	$matrix[8][$size - 1] = $format[14];
	/* Version Info */
	if ($version >= 7) {
		$version = $this->qr_version_info[$version - 7];
		for ($i = 0; $i < 18; $i++) {
			$r = $size - 9 - ($i % 3);
			$c = 5 - floor($i / 3);
			$matrix[$r][$c] = $version[$i];
			$matrix[$c][$r] = $version[$i];
		}
	}
	/* Patterns & Data */
	for ($i = 0; $i < $size; $i++) {
		for ($j = 0; $j < $size; $j++) {
			$matrix[$i][$j] &= 1;
		}
	}
	return $matrix;
}

Добавить комментарий