<?php
namespace Picqer\Barcode\Helpers;
use Picqer\Barcode\Barcode;
use Picqer\Barcode\BarcodeBar;
* Convert binary barcode sequence string to Barcode representation.
*/
class BinarySequenceConverter
{
public static function convert(string $code, string $sequence): Barcode
{
$barcode = new Barcode($code);
$len = strlen($sequence);
$barWidth = 0;
for ($i = 0; $i < $len; ++$i) {
$barWidth += 1;
if (($i == ($len - 1)) || (($i < ($len - 1)) && ($sequence[$i] != $sequence[($i + 1)]))) {
if ($sequence[$i] == '1') {
$drawBar = true;
} else {
$drawBar = false;
}
$barcode->addBar(new BarcodeBar($barWidth, 1, $drawBar));
$barWidth = 0;
}
}
return $barcode;
}
}