/** * Print an image to the printer. * * Size modifiers are: * - IMG_DEFAULT (leave image at original size) * - IMG_DOUBLE_WIDTH * - IMG_DOUBLE_HEIGHT * * See the example/ folder for detailed examples. * * The function bitImage() takes the same parameters, and can be used if * your printer doesn't support the newer graphics commands. * * @param EscposImage $img The image to print. * @param int $size Output size modifier for the image. */ function graphics(EscposImage $img, $size = self::IMG_DEFAULT) { self::validateInteger($size, 0, 3, __FUNCTION__); $imgHeader = self::dataHeader(array($img->getWidth(), $img->getHeight()), true); $tone = '0'; $colors = '1'; $xm = ($size & self::IMG_DOUBLE_WIDTH) == self::IMG_DOUBLE_WIDTH ? chr(2) : chr(1); $ym = ($size & self::IMG_DOUBLE_HEIGHT) == self::IMG_DOUBLE_HEIGHT ? chr(2) : chr(1); $header = $tone . $xm . $ym . $colors . $imgHeader; $this->wrapperSendGraphicsData('0', 'p', $header . $img->toRasterFormat()); $this->wrapperSendGraphicsData('0', '2'); }