Quantum-Manager / tracker

Tracker for all questions about Quantum Manager.
3 stars 0 forks source link

Поворот фото по EXIF данным #46

Open alex-revo opened 4 years ago

alex-revo commented 4 years ago

EXIF содержит данные о режиме съемки и при просмотре на компе фото автотически поворачивается, но если залить такое фото на сайт, то оно будет стоять боком.

Я предлагаю делать анализ режима съемки и если требуется поворот фото выводить в папке красный кружок (иконку) - как индикатор проблемы и при просмотре фото выводить предупреждение о необходимости поворота фотографии и сохранения файла.

Можно даже сделать отдельную кнопку/ссылку для исправления положения и добавить такую опцию для массовой обработки фоток в папке. В идеале также иметь галочку на экране или в настройках компонента для автоматического исправления положения при загрузке файла.

b2z commented 4 years ago

Поделюсь кодом ;)

if (function_exists('exif_read_data'))
{
    $exif = @exif_read_data($imagePath);

    if (!empty($exif['Orientation']))
    {
        switch ($exif['Orientation'])
        {
            case 3:
                $angle = 180;
                $rotated = true;
                break;

            case 6:
                $angle = -90;
                $rotated = true;
                break;

            case 8:
                $angle = 90;
                $rotated = true;
                break;
        }

        if ($rotated)
        {
            Intervention\Image\Image rotate($angle);
        }
    }
}

Или https://stackoverflow.com/questions/7489742/php-read-exif-data-and-adjust-orientation

dmitriitux commented 4 years ago

https://github.com/Quantum-Manager/quantummanager/commit/a237e3d4034b9fcdc7ba1de39c63047d183fcc1c добавил пока только при загрузке обработку