Орла
Области
Компаний
Пользователи
Галерея
Фиксированные новости
Орла
Отзывы о фирмах
Тарифы
Пользователи
Области
Банкоматы
Торговые точки
Доска объявлений
Курсы валют
Скидки
организации Орла
организации области
товары
сайты
сайты Орел
Данные
Разделы
Поиск
Поиск запросы
Статистика
Показы каталога организаций
Статистика клиенты
Пользователи
Сайты
Управление сайтом
Анкета
Аптеки
Афиша
Афиша новая
Баннеры
Бизнес >
Викторина
Голосование
Гость на сайте
Истории
Календарь событий
Каталоги >
Конкурс красоты
Конкурс аудио
Консультации
Меню
Новое на сайте
Новости >
Организации >
Программа ТВ
Публикации
Разделы сайта
Рассылка
Рестораны
Секрет фирмы >
Сервисы >
Ссылки
Тесты
Файловый менеджер
Форум
Фотогалерея
Обратная связь
Недвижимость
Новый год
Тексты
Пользователи
Юридический рейтинг
Отзывы на товары
Бан пользователей
Жалобы
Новые тесты
Коронавирус
Файловый менеджер
Имя файла
ImageWatermark.php
Содержимое
<?php namespace app\core\storage; use Intervention\Image\ImageManager; /** * Ртот класс добавляет РІРѕРґСЏРЅРѕР№ знак Рє изображению, перезаписывая его. * * Пример использования этого класса: * ```php * $watermark = ImageWatermark::getInstance() * $watermark * ->create('/path/to/image.jpg') * ``` * * Class ImageWatermark * @package app\core\storage */ class ImageWatermark { /** * Менеджер, через который РїСЂРѕРёСЃС…РѕРґРёС‚ добавление РІРѕРґСЏРЅРѕРіРѕ знака. * @var ImageManager */ private $_manager; public function __construct(ImageManager $manager) { $this->_manager = $manager; } public static function getInstance() { return new static(new ImageManager()); } /** * Метод создает РЅР° РѕСЃРЅРѕРІРµ изображения $imageSourcePath такое Р¶Рµ изображение, РЅРѕ СЃ водяным знаком Рё пересохраняет его. * @param $imageSourcePath * @param bool $createNotWatermarkFile создавать или нет файл без ватермарка (отдельный файл) */ public function create($imageSourcePath, $createNotWatermarkFile = true) { // создаем картинку РёР· РёСЃС…РѕРґРЅРѕР№ картинки $sourceImage = $this ->_manager ->make($imageSourcePath); // создаем ватермарк $watermark = $this->_manager->make($this->getWatermarkFilePath()); // изменим размер ватермарка таким образом, чтобы РѕРЅ вписывался РІ размер изображения полностью, // РєРѕРіРґР° будет установлен РїРѕ центру. $watermark->resize($sourceImage->getWidth(), null, function($constraint) { $constraint->aspectRatio(); }); // удалим старое изображение, перед сохранением РЅРѕРІРѕРіРѕ unlink($imageSourcePath); // если РЅСѓР¶РЅРѕ сохранить if ($createNotWatermarkFile == true) { $noWatermarkImage = clone $sourceImage; $noWatermarkImage->save($this->getNoWatermarkImageFilePath($imageSourcePath)); } // сохраним изображение СЃ ватермарком. $sourceImage ->insert($watermark, 'center') ->save($imageSourcePath); } /** * Функция возвращает путь Рє изображению РІРѕРґСЏРЅРѕРіРѕ знака. * @return string */ private function getWatermarkFilePath() { return __DIR__ . '/../../../images/watermark.png'; } /** * Функция возвращает путь Рє изображению, РїРѕ которому РЅСѓР¶РЅРѕ сохранить изображение без РІРѕРґСЏРЅРѕРіРѕ знака. * @param $sourceImageFilePath * @return string */ private function getNoWatermarkImageFilePath($sourceImageFilePath) { $fileName = basename($sourceImageFilePath); $directory = dirname($sourceImageFilePath); return $directory . '/' . 'orig_image_infoorel_' . $fileName; } }
/app/core/storage/
Имя
Дата
Размер
..
2019-02-12
File.php
2016-12-28
402 байт
FileUploader.php
2020-01-27
9 кб.
ImageDownloader.php
2016-12-22
1 кб.
ImageInfo.php
2019-01-28
444 байт
ImageUploader.php
2017-06-13
10 кб.
ImageWatermark.php
2019-01-28
3 кб.
UploadedTmpFiles.php
2016-12-28
2 кб.
/app/core/storage
Загрузить файлы
Файл 1
Файл 2
Файл 3