Вход Регистрация
Файл: vendor/intervention/gif/src/Decoders/AbstractPackedBitDecoder.php
Строк: 41
<?php

declare(strict_types=1);

namespace 
InterventionGifDecoders;

abstract class 
AbstractPackedBitDecoder extends AbstractDecoder
{
    
/**
     * Decode packed byte
     *
     * @return int
     */
    
protected function decodePackedByte(string $byte): int
    
{
        return 
unpack('C'$byte)[1];
    }

    
/**
     * Determine if packed bit is set
     *
     * @param int $num from left to right, starting with 0
     * @return bool
     */
    
protected function hasPackedBit(string $byteint $num): bool
    
{
        return (bool) 
$this->getPackedBits($byte)[$num];
    }

    
/**
     * Get packed bits
     *
     * @param int $start
     * @param int $length
     * @return string
     */
    
protected function getPackedBits(string $byteint $start 0int $length 8): string
    
{
        
$bits str_pad(decbin($this->decodePackedByte($byte)), 8'0'STR_PAD_LEFT);

        return 
substr($bits$start$length);
    }
}
Онлайн: 1
Реклама