термопринтер epson для печати растровых изображений

Редактировать:
Так что после дня возни со всем. Моя проблема была со спринтом. Первоначально я думал, что мой цикл был неправильным.

sprintf('%02x',base_convert($binary, 2, 16));

Мне пришлось использовать s вместо x, чтобы получить правильный вывод. X конвертировал FF в 00, но другие конвертировали нормально. Вот цикл, который я использовал для прохождения wbmp, обратите внимание, что я изменил размер изображения так, чтобы оно было / 8, 24.

$w = imagesx($im);
$h = imagesy($im);

for($x = 0; $x <= $w; $x++)
{
$image = "";
$cntr = 0;
for($y = 0; $y <= $h; $y++)
{
$rgb = imagecolorat($im, $x, $y);
$image .= ($rgb == "") ? 0 : $rgb; //resizing causes value to return blank

if(strlen($image) == 8)
{

$imgHex = sprintf('%02s',base_convert($image, 2, 16));
$cntr++;
$line[$lineNum] .= $imgHex;
if($cntr == 3)
{
$lineNum++;
$cntr = 0;
}
$image = "";
}
}
$lineNum = 0;
}

0

Решение

Чтобы преобразовать число в байт, вы можете попробовать AND-ing с 0xFF. Это обрезает все биты за пределами однобайтового диапазона.

slice |= 0xFF & ((v ? 1 : 0) << (7 - b));
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]