Mike42\Escpos\Printer::bitImageColumnFormat PHP Method

bitImageColumnFormat() public method

Should only be used if your printer does not support the graphics() or bitImage() commands.
public bitImageColumnFormat ( EscposImage $img, integer $size = Printer::IMG_DEFAULT )
$img EscposImage The image to print
$size integer Size modifier for the image. Must be either `Printer::IMG_DEFAULT` (default), or any combination of the `Printer::IMG_DOUBLE_HEIGHT` and `Printer::IMG_DOUBLE_WIDTH` flags.
    public function bitImageColumnFormat(EscposImage $img, $size = Printer::IMG_DEFAULT)
    {
        $highDensityVertical = !(($size & self::IMG_DOUBLE_HEIGHT) == Printer::IMG_DOUBLE_HEIGHT);
        $highDensityHorizontal = !(($size & self::IMG_DOUBLE_WIDTH) == Printer::IMG_DOUBLE_WIDTH);
        // Experimental column format printing
        // This feature is not yet complete and may produce unpredictable results.
        $this->setLineSpacing(16);
        // 16-dot line spacing. This is the correct value on both TM-T20 and TM-U220
        // Header and density code (0, 1, 32, 33) re-used for every line
        $densityCode = ($highDensityHorizontal ? 1 : 0) + ($highDensityVertical ? 32 : 0);
        $colFormatData = $img->toColumnFormat($highDensityVertical);
        $header = Printer::dataHeader(array($img->getWidth()), true);
        foreach ($colFormatData as $line) {
            // Print each line, double density etc for printing are set here also
            $this->connector->write(self::ESC . "*" . chr($densityCode) . $header . $line);
            $this->feed();
            // sleep(0.1); // Reduces the amount of trouble that a TM-U220 has keeping up with large images
        }
        $this->setLineSpacing();
        // Revert to default line spacing
    }