Файл: vendor/intervention/image/src/Drivers/Imagick/Analyzers/ResolutionAnalyzer.php
Строк: 80
<?php
declare(strict_types=1);
namespace InterventionImageDriversImagickAnalyzers;
use ImagickException;
use InterventionImageAnalyzersResolutionAnalyzer as GenericResolutionAnalyzer;
use InterventionImageExceptionsAnalyzerException;
use InterventionImageExceptionsInvalidArgumentException;
use InterventionImageInterfacesImageInterface;
use InterventionImageInterfacesSpecializedInterface;
use InterventionImageLength;
use InterventionImageResolution;
class ResolutionAnalyzer extends GenericResolutionAnalyzer implements SpecializedInterface
{
/**
* @throws InvalidArgumentException
* @throws AnalyzerException
*/
public function analyze(ImageInterface $image): mixed
{
$imagick = $image->core()->native();
try {
$imageResolution = $imagick->getImageResolution();
} catch (ImagickException $e) {
throw new AnalyzerException('Failed to read image resolution', previous: $e);
}
return new Resolution(
$imageResolution['x'],
$imageResolution['y'],
$imagick->getImageUnits() === 2 ? Length::CM : Length::INCH,
);
}
}