Tinypng команда экспортировать не может быть выполнена ошибка диска

Одна из распространенных ошибок Photoshop СС, CS6, CS5 — невозможно выполнить запрос, произошел программный сбой. Ошибка возникает из-за нехватки ресурсов компьютера для выполнения команды/задачи. Возникает ошибка при различных обстоятельствах: при использовании пипетки, при выделении участка изображения, слоя, при попытке создания фигуры, использовании пипетки, манипуляции со слоями: удаление, перетаскивание, создание. Приводим моменты, на которые стоит обратить …

Одна из распространенных ошибок Photoshop СС, CS6, CS5невозможно выполнить запрос, произошел программный сбой. Ошибка возникает из-за нехватки ресурсов компьютера для выполнения команды/задачи. Возникает ошибка при различных обстоятельствах: при использовании пипетки, при выделении участка изображения, слоя, при попытке создания фигуры, использовании пипетки, манипуляции со слоями: удаление, перетаскивание, создание. Приводим моменты, на которые стоит обратить внимание, расположенные по популярности:

  • Перейдите в настройки, во вкладку «производительность» (Редактирование -> Настройки -> Производительность). Убедитесь, что для работы выделено достаточно памяти. И она находится в оптимальном диапазоне.

  • Второй момент, из-за которого может происходить ошибка — «произошел программный сбой», это неизвестный формат сжатия изображения. Это происходит, если ошибка возникает только при открытии одного конкретного файла. Другие же файлы открываются нормально. В таком случае пересохраните изображение в другой программе, либо прогоните через сервис tinypng.com. Этот сервис пересожмет картинку без потери качества, после чего она откроется в фотошопе. Минус онлайн сервиса — ограничение в размере файла — не более 5 Мб.
  • В этой же вкладке убедитесь, что у вас стоит разумное количество сохранения истории действий. Чем больше это число, тем больше памяти требуется программе для работы.
  • Во вкладке «Рабочие диски», в настройках убедитесь, что выбран диск, в котором свободно от 2ГБ свободного места.
  • Обратите внимание на системные требования вашей версии Photoshop. Имейте в виду, что для работы с файлами большого размера и большим количеством слоев требуются большие объемы оперативной памяти и памяти на диске ПК. Возможно, требуется большие объемы памяти, чем у вас имеются.

Основной вывод из возможных решений: ошибка «произошел программный сбой» в программе Photoshop связана с недостатком ресурсов компьютера. Которая вызвана либо неверно оптимизированными настройками самой программы, либо связана с нехваткой ресурсов компьютера.

Очередь просмотра

Очередь

  • Удалить все
  • Отключить

YouTube Premium

Хотите сохраните это видео?

  • Пожаловаться

Пожаловаться на видео?

Выполните вход, чтобы сообщить о неприемлемом контенте.

Понравилось?

Не понравилось?

Невозможно сохранить и закрыть фотошоп, так как появляется ошибка!
Решений несколько, и один из них представлен на видео!

Также еще варианты:

1) Заходим в настройки фотошопа (нажимаем Ctrl + K), слева выбираем строчку «производительность», и напротив «Занято под фотошоп» выставляем значение чуть больше, к примеру на 200-700 мб. Нажимаем Ок.

2) Заходим в настройки фотошопа (нажимаем Ctrl + K), слева выбираем строчку «производительность», снизу где «Рабочие диски» переставляем галочку на другой диск (если таковой имеется)

3) Еще пробуем такой вариант — Файл — Сохранить для Web.

4) Сохранить как. И выбрать другую папку для сохранения

На этой странице

Существует множество потенциальных причин повреждения файла:

  • Сбой при сохранении файла, особенно в сети или при использовании внешних дисков; непредвиденное отключение электропитания
  • Поврежденные кабели
  • Проблемы в передаче данных по сети
  • Программные ошибки
  • Проблемы с жесткими дисками или модулями ОЗУ

Тем не менее, повреждения случаются редко. Если вы обнаружили, что один или несколько файлов повреждены, определите причину этого, чтобы предотвратить возникновение проблем в будущем при попытке восстановления файлов.

Определите причину

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

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

Если повреждено несколько файлов, ищите определенные закономерности:

  • Распространяется ли повреждение только на файлы в одном местоположении (папка, жесткий диск, сеть или съемный носитель)?
  • Были ли файлы созданы или изменены примерно в одно и то же время?
  • Были ли какие-либо изменения в компьютере во время последнего изменения файлов?
  • Проявляется ли повреждение файлов при их печати так же, как при их просмотре на экране?

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

Если файлы были повреждены недавно и не имеют ограничений по времени, возможно, модуль ОЗУ функционирует неправильно.

Если вы добавили на компьютер программное обеспечение примерно в то же время, в которое произошло повреждение изображений, возможно, имеется проблема с приложением или обновлением. Проверьте наличие обновлений для программного обеспечения или наоборот проверьте, не были ли приложения недавно обновлены, или отключите конкретные приложения. Изредка случается так, что антивирусное программное обеспечение, программы для резервного копирования или приложения для управления шрифтами вносят изменения в файлы до их сохранения, что вызывает повреждение.

Если повреждение изображений проявляется только на экране (не распространяется на распечатанные материалы), обновите драйвер дисплея. Если в результате не удается устранить проблему, свяжитесь с производителем своей видеокарты.

В Windows см. руководство по общей диагностике Windows, в котором приведены инструкции по удалению временных файлов и отключению всех служб и элементов автозагрузки операционной системы. В нем также содержатся сведения о том, как отключить сторонние внешние модули в Photoshop, удерживая нажатой клавишу Shift сразу же после запуска Photoshop.

Для Mac OS — см. руководство по общей диагностике Mac OS, в котором приведены инструкции по восстановлению разрешений для диска и отключению элементов автозагрузки операционной системы. В нем также содержатся сведения о том, как отключить сторонние внешние модули в Photoshop, удерживая нажатой клавишу Shift сразу же после запуска Photoshop.

Восстановите файл

В случае повреждения файла иногда можно восстановить его вместе со слоями или в виде композитного (сведенного) файла. Внешний вид файла сохраняется, но слои будут потеряны. Иногда повреждение файла необратимо. Если вы регулярно выполняли архивирование, вы можете получить версию файла, сохраненную до повреждения.

Примечание. Композитное изображение невозможно восстановить из файла в том случае, если в установках Photoshop был отключен параметр «Максимизировать совместимость файлов PSD и PSB». Чтобы файлы всегда сохранялись в композитном формате, выполните следующие действия:

  1. Выберите пункт меню Photoshop > «Установки» > «Обработка файлов» (Mac OS) или «Правка» > «Установки» > «Обработка файлов» (Windows).
  2. Выберите значение «Всегда» для параметра «Максимизировать совместимость файлов PSD и PSB».
  3. Нажмите кнопку «ОК», чтобы закрыть диалоговое окно «Установки».

Попробуйте любой из следующих вариантов, чтобы восстановить файл:

  • Используйте команду «Сохранить как», чтобы сохранить файл в другом местоположении под новым именем. (Например, используйте внутренний жесткий диск или диск, не являющийся съемным или сетевым.)
  • Откройте резервные копии изображения, чтобы определить, какое из них было сохранено до повреждения.
  • Если появляется одно из следующих сообщений об ошибке, расширение имени файла, возможно, не соответствует требуемому формату:
  • Не удалось выполнить запрос, поскольку документ не является допустимым документом Photoshop.
  • Не удалось выполнить запрос, так как обнаружен неизвестный или некорректный тип маркера JPEG.
  • Не удалось выполнить запрос, так как модулю файлового формата не удается проанализировать файл.
  • Этот файл не является корректным документом в формате Portable Document File (PDF). Документ не может быть открыт.

Как устранить ошибку полного диска в фотошопе в 2021 году?

Если вы не знаете, как устранить полную ошибку рабочих дисков в Photoshop, мы поможем вам и объясним все решения, которые вы можете использовать в 2021 году. Одна из самых распространенных ошибок в Photoshop во всех его версиях ( 2018, 2019, 2020, 2021…) относится к дискам виртуальной памяти. В частности, программа не позволяет выполнять определенные действия в интерфейсе, такие как добавление новых слоев, применение фильтров, перемещение объектов и элементов и т. Д.

Эта ошибка также влияет на выполнение программы, которая иногда не может быть инициализирована из-за проблем, связанных с виртуальной памятью Photoshop. В этом случае мы дадим решение этой общей проблемы с помощью ряда методов, которые мы подробно рассмотрим ниже.

Как устранить ошибку полного диска в фотошопе в 2021 году?

Как устранить ошибку полного диска в фотошопе в 2021 году?

Как устранить ошибку полного диска в фотошопе в 2021 году?

Если вы столкнулись с сообщением типа: «Не удалось выполнить команду, потому что рабочие диски заполнены», когда вы пытаетесь запустить Photoshop, продолжайте читать. Мы объясним несколько решений для этой конкретной ошибки. Решение зависит от источника проблемы, так как не существует единого способа исправить все.

Очистите виртуальную память в Photoshop

Если вы можете открыть программу, вы можете использовать этот метод. Чтобы очистить виртуальную память Photoshop, нам нужно будет щелкнуть меню «Правка», которое мы можем найти в верхней панели программы. Как только мы окажемся внутри, мы нажмем «Очистить»> «Все».

Photoshop автоматически удалит все элементы, которые были сохранены на виртуальных дисках, которые мы ранее выбрали.

Удалите системный кеш (Windows и Mac)

Как устранить ошибку полного диска в фотошопе в 2021 году?

Как устранить ошибку полного диска в фотошопе в 2021 году?

Второе решение – удалить кеш операционной системы. В Windows нам нужно будет ввести следующую команду в поле поиска в меню Пуск:

% темп%.

Затем мы увидим папку со всеми временными файлами, созданными во время сеанса. Мы удалим все внутри, чтобы удалить системный кеш. На Mac действовать аналогично. В этом случае нам нужно будет открыть Spotlight (Command + Space) и ввести следующую команду:

/ tmp

Теперь система откроет папку, и нам придется удалить все внутри нее.

Перезагрузите систему

Поскольку мы не можем получить доступ к параметрам программы, самое простое решение – выключить компьютер и снова включить его, чтобы очистить виртуальную память. Для этого желательно выбрать вариант «Завершение работы» вместо «Перезагрузка». Через 10 или 20 секунд мы можем перейти к включению компьютера, чтобы снова запустить Photoshop.

Измените диск виртуальной памяти Photoshop

Как устранить ошибку полного диска в фотошопе в 2021 году?

Как устранить ошибку полного диска в фотошопе в 2021 году?

Хотя сбой виртуальной памяти Photoshop обычно связан со свободным пространством на жестком диске, правда в том, что проблема может быть связана со скоростью чтения / записи. Эта проблема особенно часто встречается в механических жестких дисках, поэтому вам может потребоваться SSD или более качественный жесткий диск.

После подключения любого из этих дисков к компьютеру войдите в меню «Настройки» в Photoshop. Затем щелкните «Диски виртуальной памяти».

Наконец, мы выберем только что подключенный диск. Следует отметить, что накопитель должен иметь совместимый системный формат чтения / записи. В Windows совместимый формат – NTFS, а на Mac – APFS или macOS Plus с ведением журнала.

Что делать, если вы не можете открыть Photoshop?

Смена дисков виртуальной памяти возможна только через интерфейс Photoshop. Проблема в том, что некоторые ошибки, связанные с виртуальной памятью, не позволяют получить доступ к этому интерфейсу. Для этого нам придется принудительно выполнить настройки программы с помощью ряда команд.

В Windows нам придется при открытии программы зажать следующую комбинацию клавиш:

Ctrl + Alt

Чтобы принудительно выполнить настройки в Photoshop для Mac, нам нужно будет применить следующую комбинацию:

Command + Option

В обоих случаях программа включит вкладку «Диски виртуальной памяти». Процесс смены диска виртуальной памяти такой же.

photoshop

Одна из распространенных ошибок Photoshop СС, CS6, CS5 невозможно выполнить запрос, произошел программный сбой. Ошибка возникает из-за нехватки ресурсов компьютера для выполнения команды/задачи. Возникает ошибка при различных обстоятельствах: при использовании пипетки, при выделении участка изображения, слоя, при попытке создания фигуры, использовании пипетки, манипуляции со слоями: удаление, перетаскивание, создание. Приводим моменты, на которые стоит обратить внимание, расположенные по популярности:

  • Перейдите в настройки, во вкладку «производительность» (Редактирование -> Настройки -> Производительность). Убедитесь, что для работы выделено достаточно памяти. И она находится в оптимальном диапазоне.

photoshop

  • Второй момент, из-за которого может происходить ошибка — «произошел программный сбой», это неизвестный формат сжатия изображения. Это происходит, если ошибка возникает только при открытии одного конкретного файла. Другие же файлы открываются нормально. В таком случае пересохраните изображение в другой программе, либо прогоните через сервис tinypng.com. Этот сервис пересожмет картинку без потери качества, после чего она откроется в фотошопе. Минус онлайн сервиса — ограничение в размере файла — не более 5 Мб.
  • В этой же вкладке убедитесь, что у вас стоит разумное количество сохранения истории действий. Чем больше это число, тем больше памяти требуется программе для работы.
  • Во вкладке «Рабочие диски», в настройках убедитесь, что выбран диск, в котором свободно от 2ГБ свободного места.
  • Обратите внимание на системные требования вашей версии Photoshop. Имейте в виду, что для работы с файлами большого размера и большим количеством слоев требуются большие объемы оперативной памяти и памяти на диске ПК. Возможно, требуется большие объемы памяти, чем у вас имеются.

Основной вывод из возможных решений: ошибка «произошел программный сбой» в программе Photoshop связана с недостатком ресурсов компьютера. Которая вызвана либо неверно оптимизированными настройками самой программы, либо связана с нехваткой ресурсов компьютера.

Если вы частый Adobe Photoshop пользователь, я уверен, что вы испугались ошибки рабочего диска. В моем случае он в основном всплывал, когда я пытался создать новый файл, однако несколько пользователей также столкнулись с ошибкой рабочего диска при редактировании на полпути. Поскольку это обычная проблема, давайте разберемся, что такое ошибка рабочего диска Photoshop и как ее исправить.

Что такое рабочий диск?

Проще говоря, рабочий диск — это пространство, которое Photoshop временно использует в качестве хранилища. Photoshop использует его для хранения частей файла, над которыми вы работаете, которые не помещаются в вашей оперативной памяти. Они часто помещаются в корневой каталог дисков хранения по умолчанию на вашем ПК.

Как найти свой рабочий диск

Adobe Photoshop по умолчанию использует жесткий диск, на котором установлена ​​ваша операционная система. Однако, если вы работаете на общедоступном компьютере, вы можете быстро определить, какой том используется в качестве рабочего диска. Для этого откройте Photoshop и перейдите на вкладку «Правка» вверху. Теперь прокрутите вниз до «Настройки» и во всплывающем меню выберите «Рабочие диски».

Это покажет вам все тома, которые доступны вместе с активным томом рабочего диска (продолжайте читать, чтобы узнать больше).

Рабочие диски Photoshop

Как заменить рабочие диски

Если вы часто сталкиваетесь с ошибками рабочего диска в Photoshop, первое решение — изменить том рабочего диска. Это можно сделать двумя способами. Во-первых, следуя тому же методу, о котором мы говорили до или при запуске. Вот как вы можете изменить рабочие диски в Photoshop.

  1. В Photoshop нажмите «Правка»> «Настройки»> «Рабочие диски». Теперь в окне настроек щелкните поле под Active? вариант слева. Здесь вы можете удалить диск по умолчанию, добавить несколько дисков или легко заменить рабочий диск. После этого нажмите ОК в правом верхнем углу, чтобы сохранить изменения.

Активный рабочий диск в Photoshop2. Вы также можете изменить настройки рабочего диска при запуске Photoshop. Просто нажмите и удерживайте клавиши CTRL + ALT при открытии Photoshop. Это откроет параметр «Настройки рабочего диска». Первый рабочий диск будет томом ОС по умолчанию. На этой же вкладке вы можете назначить дисковые предпочтения, которые будут использоваться в случае нехватки памяти.

Настройки рабочего диска

Способы исправить ошибку рабочего диска Adobe Photoshop

Список решений, которые, как мы обнаружили, работают для устранения ошибок рабочего диска, с которыми сталкиваются пользователи Adobe Photoshop.

  • Выполните очистку локального диска для рабочего диска по умолчанию. В меню «Пуск» Windows найдите «Очистка диска» и выберите рабочий диск по умолчанию. В следующем окне выберите «Временные файлы», «Отчеты об ошибках», «Эскизы» и другие папки, которые, по вашему мнению, занимают ненужное место, и нажмите «ОК». Вы можете предварительно просмотреть свободное место вверху.

Очистка диска Windows

  • Если вы работаете с несколькими слоями, при каждом редактировании вы также добавляете в историю содержимого (помогает отменить). Они также могут занимать много места. Чтобы очистить это, перейдите в «Правка» и выберите «Очистить». Нажмите «Все», чтобы очистить данные как из буфера обмена (сохраняет то, что вы копируете), так и из истории (шаги).

Примечание. После очистки данных вы не сможете вставить то, что копировали в последний раз, или просмотреть историю в своем проекте Photoshop.

Параметр очистки Photoshop

  • Дефрагментация дисков — это задача обслуживания, которая помогает поддерживать работоспособность вашего устройства. Он реорганизует данные на диске для повышения эффективности приложений. Поскольку Photoshop требует нефрагментированного пространства, этот метод может помочь. Чтобы оптимизировать диски, откройте Defragmenter из меню «Пуск», выберите рабочий диск и нажмите «Оптимизировать».

Инструмент дефрагментации Windows 10

  • Photoshop также создает временные файлы, такие как отчеты о сбоях. Мы можем удалить их с помощью команды «Выполнить». Нажмите кнопку Windows и клавишу R (). Затем введите% temp% и нажмите Enter, чтобы открыть папку с временными файлами. Найдите имя файла Photoshop или PST и удалите его.

Папка временных файлов Windows

  • Другие методы, предлагаемые многими, такие как отключение автоматического восстановления или увеличение объема оперативной памяти для Photoshop. Однако я не рекомендую это, так как это также может повлиять на ваш общий рабочий процесс.

Обходной путь для ошибки рабочего диска Photoshop

Если вышеперечисленные методы сработали для вас, считайте, что вам повезло. По какой-то причине я все еще сталкивался с проблемой даже после того, как попробовал все уловки. Следовательно, обходной путь, который сработал для меня, также может вам помочь. Мы рассмотрим два метода.

Revo Деинсталлятор

Для первого метода мы будем использовать бесплатный деинсталлятор под названием Revo Деинсталлятор. Это позволяет пользователям выполнять несколько задач по очистке в одном месте, а также удалять оставшиеся ненужные файлы при удалении. Мы собираемся использовать функцию Junk Cleaner.

  1. Для начала загрузите Revo и выберите опцию Очистка нежелательных файлов на левой боковой панели. Затем нажмите «Сканировать сверху» и дождитесь завершения процесса. После отображения ненужных файлов нажмите «Удалить», и все готово.

Revo Uninstaller очиститель ненужных файловУловка недавнего проекта

  1. Если вы столкнулись с ошибкой рабочего диска при попытке создать новый документ, этот метод для вас. В большинстве случаев вы сможете открывать проекты из последних документов (запуск Photoshop).

После этого вы можете просто отрегулировать размер холста и продолжить работу. Что ж, это единственный метод, который сработал для меня, надеюсь, он сработает и для вас.

Последние проекты Photoshop

Заключительные замечания: устранение ошибки рабочего диска Photoshop

Это были несколько способов решить проблему с рабочим диском в Adobe Photoshop. Мы надеемся, что ваша проблема была решена, и теперь вы можете редактировать изображения как обычно.

Читайте также: 7 лучших альтернатив Photoshop для Android

Я пытаюсь сжать изображение после загрузки его на свой сервер, и все идет так, как ожидалось, но когда я загружаю свои изменения с локального компьютера на онлайн-сервер, это дает мне эту ошибку

Вызов неопределенной функции Tinify curl_version ()

Так что мой исходный код на моем локальном компьютере ниже:

require_once(APPPATH.'libraries/tinify-php-master/lib/Tinify/Exception.php');
        require_once(APPPATH.'libraries/tinify-php-master/lib/Tinify/ResultMeta.php');
        require_once(APPPATH.'libraries/tinify-php-master/lib/Tinify/Result.php');
        require_once(APPPATH.'libraries/tinify-php-master/lib/Tinify/Source.php');
        require_once(APPPATH.'libraries/tinify-php-master/lib/Tinify/Client.php');
        require_once(APPPATH.'libraries/tinify-php-master/lib/Tinify.php');

        TinifysetKey("4R8QNHlOax0Mcp7lho4QiOBUnTjJuZYj");

        if($this->upload->do_upload("file")){
            $imageDetailArray = $this->upload->data();
            $pic =  $imageDetailArray['file_name'];

            $unoptimized_img_loc = 'uploads/'.$pic;

            $img_url = base_url() . "include/" . $unoptimized_img_loc;
            try {
                $source = TinifyfromFile($img_url);

                $optimized_img_name = 'compressed_imgs/users_profile_pic/profile_pic'.$pic;

                $resized = $source->resize(array(
                        'method' =>'fit',
                        'width' => 300,
                        'height' =>300
                ));
                $resized->toFile($_SERVER['DOCUMENT_ROOT']."/html/include/".$optimized_img_name);
            }catch (TinifyException $e){
                print_r($e);exit();
            }

            $dataIn['logo'] = $optimized_img_name;
        } 

И тот же код загружен на мой сервер виртуальной машины, и это не работает

Любая помощь, пожалуйста, и заранее спасибо,

2 ответа

Обновление 2017-06-01 09:30 AM CEST

Убедитесь, что curl активирован в вашем php.ini (или, возможно, curl.ini ?):

extension=curl.so

После добавления перезапустите ваш веб-сервер.


Вам не хватает установленного пакета curl . Установите, например, php-curl .

Вы не упомянули свою ОС и версию, но здесь вы найдете сведения об установке и настройке: http://php.net/manual/en/book.curl.php

Ниже приведены цитаты из https://board.s9y.org/viewtopic.php? f = 4 & t = 20857 с тем же казусом:

Я просто получаю эту ошибку при загрузке изображения с установленным новым плагином: Fatal error: Call to undefined function Tinifycurl_version() в /var/www/vps.hommel-net.de/serendipity/plugins/serendipity_event_tinypng/tinify-php/lib/Tinify/Client. php в строке 11. Изображение находится в медиатеке после этой ошибки, но не сжато.

Возможно ли, что у вас нет активного модуля php curl? Пакет вроде php-curl? Я посмотрю, действительно ли это нужно Tinyfy-Client, но это возможно.

Вот в чем дело. Пакет debian — это php5-curl. После его установки ошибка исчезла. It seems that the API of TinyPNG has counted my tries with the error, too.

Помните, что API TinyPNG подсчитывает количество ваших запросов!


2

schellingerht
1 Июн 2017 в 10:32

require_once("vendor/autoload.php");

TinifysetKey("B2JCcCK0FqVfDrPyrjX5QW1jYqF7n4vl"); //pass your actual API key

if (isset($_POST['submit'])) {

    $supported_image = array('image/gif', 'image/jpg', 'image/jpeg', 'image/png');

    if (in_array($_FILES['myfile']['type'], $supported_image)) {

        $src_file_name = $_FILES['myfile']['name'];

        if (!file_exists(getcwd().'/uploads')) {

            mkdir(getcwd().'/uploads', 0777);
        }

        move_uploaded_file($_FILES['myfile']['tmp_name'], getcwd().'/uploads/'.$src_file_name);

        //optimize image using TinyPNG
        $source = TinifyfromFile(getcwd().'/uploads/'.$src_file_name);
        $source->toFile(getcwd().'/uploads/'.$src_file_name);

        echo "File uploaded successfully";
    } else {
        echo 'Invalid file format.';
    }
}


-1

Taazar
21 Фев 2020 в 16:19

С давних пор в Linux для конвертации картинок используется пакет ImageMagick, а точнее, программа convert. Например, когда мне надо залить какие-нибудь фотографии на какой-нибудь идиотский сайт, ограничивший размер вложений парой мегабайт, я использую ImageMagick. В истории через Ctrl+R находится волшебная строчка, которую решительно невозможно выучить наизусть. Подумываю даже написать для неё алиас, но раз уж я начал писать эту заметку в бложик, алиас больше не нужен: всегда смогу найти её тут. Ладно, конец интриге. Вот она, строчка:

for i in *.JPG; do convert "$i" -define jpeg:extent=1500kb "out/$i" ; done

Однако, у этой строчки есть серьёзный недостаток: качество картинки не контролируется, плюс вообще сильно зависит от начальных параметров, плюс иногда так бывает, что надо пережать картинку по размеру меньше, чем 1.5 Мб. Как быть?

На помощь приходит замечательный сервис TinyPNG. Эти ребята автоматизировали вызов pngcrush и иных утилит, научившись тем самым извлекать максимум из алгоритмов сжатия PNG. PNG — как известно, это картинки без потери качества, так что результирующая картинка идентична оригинальной (но будет использовать другой набор фильтров и опций сжатия). Что ещё сказать? Математика — царица полей, при помощи подбора фильтров и алгоритмов сжатия, размер файла порой уменьшается до 20%, а средняя экономия на обычном файле, вышедшем из недр Photoshop, составляет 10%. Также они преобразовывают 24-битные PNG в 8-битные (с потерей качества, но малозаметной простым смертным). Качество получается несравнимо лучше, чем когда кино пытаются ужать в гифку. :)

Пару лет назад сервис также научился обрабатывать JPEG. Как JPEG в PNG ни конвертируй, а JPEG всё равно будет меньше (на самом деле нет, например чёрный квадрат в PNG с высокой вероятностью будет компактнее)! Поэтому JPEG они конвертируют снова в JPEG, оптимизируя как картинку, так и параметры сжатия. Тоже выжимают процентов 10 обычно.

Простые смертные таскают JPG или PNG файл через проводник на окошко в браузере Internet Explorer, но сильные и ловкие программисты могут воспользоваться API, предоставляемым сервисом. К сожалению, количество вызовов API ограничено 500 штуками в месяц. Сайт travelfaqs.ru, который я до сих пор ещё обрабатываю, содержит в себе тысячи изображений, поэтому обработка их вручную не вариант. Даже если нанять филиппинца или школьника через какой-нибудь сервис с заданиями, выйдет дорого. Для таких случаев у TinyPNG есть возможность снять ограничения за небольшие деньги. Честно признаюсь, я плохой человек, поэтому не плачу им денег. Но вы — можете заплатить, возможно это будет правильно.

Итак, поскольку количество попыток сжатия у нас ограничено, нам важно не пытаться подсунуть сервису уже пережатую картинку. Как это понять? Я это делаю очень просто. Если картинка старая (например, старше трёх месяцев, когда я начал работу над сайтом), значит — непережатая. Тут всё просто. Тогда задача упрощается до “найти 500 jpg-файлов, которые не менялись в течение последних 90 дней, по одному обработать их через tinypng и заменить старые файлы обработанныими”.

export TINYPNG_API_KEY="A.................9"
for i in `find /home/travelfaqs.ru/public_html/uploads -mtime +90 -name '*.jpg' | head -n 500`; do echo $i && rm -f /tmp/t.jpg && tinypng $i /tmp/t.jpg && mv /tmp/t.jpg $i; done

Итак, сначала скрипт определяет 500 jpg файлов, дата изменения которых в прошлом, 90 или больше дней назад. Потом выводит это на экран, удаляет временный файл (если его не удалить, tinypng не отработает), пережимает старый файл во времнный, и переносит временный файл на место старого. Само собой, последнее предложение повторятеся 500 или менее раз. Временный файл удаляется “на всякий случай”, потому что иногда бывают форс-мажоры (например, сервис tinypng был недоступен). Если что-то пошло не так, то просто старый файл остаётся без изменений (и дата модификации у него всё ещё в прошлом, то есть он пережмётся в следующий заход).

Качество картинок я проверять перестал. С виду мне они всегда казались идентичными, так что я сначала посмотрел-посмотрел на это дело, а потом перестал.

Чего хотелось бы, так это статистики по оптимизации, но нет её, такой статистики.

И маленький совет для нехороших людей и скупердяев вроде меня. Если начать оптимизацию 30 ноября, а продолжить 1 декабря, то одним API-ключом можно пережать 1000 файлов. Итого достаточно, например, 20 ключей на практически любой сайт. Хотя, конечно, правильнее заплатить разработчикам $25, и пользоваться сервисом без лимитов и ограничений целый год. Возможно, на приносящих прибыль сайтах, я именно так и поступлю.

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Tinder ошибка 42901
  • Tinder ошибка 403
  • Tinder ошибка 40036
  • Tinder код ошибки 40314
  • Tinder как изменить имя

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии