From 1485ef3f2db7ccc8bfdb8fdc5ae2bfde65685c79 Mon Sep 17 00:00:00 2001 From: Zankaria Date: Mon, 17 Mar 2025 22:21:38 +0100 Subject: [PATCH] ImageFormatReader: add iamge format readers --- inc/Service/Media/GdImageFormatReader.php | 18 ++++++++++ inc/Service/Media/ImageFormatReader.php | 11 +++++++ inc/Service/Media/MagickImageFormatReader.php | 33 +++++++++++++++++++ 3 files changed, 62 insertions(+) create mode 100644 inc/Service/Media/GdImageFormatReader.php create mode 100644 inc/Service/Media/ImageFormatReader.php create mode 100644 inc/Service/Media/MagickImageFormatReader.php diff --git a/inc/Service/Media/GdImageFormatReader.php b/inc/Service/Media/GdImageFormatReader.php new file mode 100644 index 00000000..de20435c --- /dev/null +++ b/inc/Service/Media/GdImageFormatReader.php @@ -0,0 +1,18 @@ +prefix = $prefix; + } + + public function getSizes(string $file_path): array { + $arg = escapeshellarg("$file_path[0]"); + $ret_exec = shell_exec_error("{$this->prefix}identify -format \"%w %h\" $arg"); + + if (!\is_string($ret_exec)) { + throw new \RuntimeException("Error while executing identify"); + } + $ret_match = \preg_match('/^(\d+) (\d+)$/', $ret_exec, $m); + if (!$ret_match) { + throw new \RuntimeException("Could not parse identify output"); + } + return [ $m[1], $m[2] ]; + } +}