From b6dd2e3318f869f5abad1bcbce7458f2ae2a1c59 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Mon, 16 May 2022 19:45:17 +0200 Subject: Resize maximum dimensions for pictures coming from SocialApiService Signed-off-by: Thomas Citharel --- lib/Service/ImageResizer.php | 50 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 lib/Service/ImageResizer.php (limited to 'lib/Service/ImageResizer.php') diff --git a/lib/Service/ImageResizer.php b/lib/Service/ImageResizer.php new file mode 100644 index 00000000..10581d09 --- /dev/null +++ b/lib/Service/ImageResizer.php @@ -0,0 +1,50 @@ + + * + * @author Thomas Citharel + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCA\Contacts\Service; + +use OCP\Image; + +class ImageResizer { + public const RESIZE_MAX_X = 256; + public const RESIZE_MAX_Y = 256; + + /** + * @param string $socialData + * @return null|string + */ + public function resizeImage(string $socialData) { + $image = new Image(); + + $image->loadFromData($socialData); + + if ($image->valid()) { + $image->scaleDownToFit(self::RESIZE_MAX_X, self::RESIZE_MAX_Y); + return $image->data(); + } + return null; + } +} -- cgit v1.2.3