Добрый день. Я сейчас прохожу курс повышения квалификации - "Профессиональное веб-программирование". Мне нужно получить диплом по этому курсу. Я так полагаю нужно его оплатить чтобы получить диплом о повышении квалификации. Как мне оплатить этот курс?
|
Алгоритмы уменьшения изображений
3.5. Средства онлайн-оптимизации
Определенный интерес представляют сайты, позволяющие произвести автоматическую оптимизацию изображений. Хотя они не дают возможности контролировать процесс, но обладают неоспоримым преимуществом: все, что вам нужно для того, чтобы ими воспользоваться, — доступ в Интернет.
К настоящему времени существуют два сервиса, которые можно рекомендовать к использованию: принадлежащий Yahoo! сервис Smush.it(http://smush.it) и punyPNG (http://punypng.com), который разрабатывает Конрад Чу. И тот и другой оптимизируют все три общепринятых формата, статичные GIF с большой вероятностью будут сконвертированы в PNG с индексированной палитрой (если такое преобразование даст выигрыш в размере).
На данный момент punyPNG оптимизирует изображения лучше, в частности, из-за применения более современных утилит для оптимизации PNG (Smush.it использует устаревший PNGcrush в режиме полного перебора) и техники, описанной в разделе 3.3.10, для удаления лишнего из полностью прозрачных областей. Впрочем, ситуация еще может измениться.
Тестовая таблица с блога "Gracepoint After Five" (http://www.gracepointafterfive.com/punypng-benchmarks) с результатами оптимизации девяти PNG-файлов обоими онлайн-сервисами и двумя популярными утилитами оптимизации PNG:
PunyPNG | Smush.it | OptiPNG | ImageOptim | |
---|---|---|---|---|
Ask Image 01 | 22% | 20% | 20% | 20% |
Ask Image 02 | 46% | 39% | 40% | 2% |
Ask Image 03 | 8% | 7% | 7% | 7% |
Ask Image 04 | 35% | 1% | 33% | 34% |
Blocks | 58% | 0% | 0% | 0% |
Butterfly | 41% | 1% | 1% | 1% |
63% | 36% | 61% | 61% | |
NASCAR | 37% | 28% | 28% | 28% |
Yahoo! | 17% | 9% | 9% | 9% |
Экономия: | 41% (112 Kб) | 14% (37 Kб) | 19% (51 Kб) | 20% (53 Kб) |
Помимо веб-интерфейса сервисы предоставляют API. На данный момент компания Yahoo! закрыла API для публичного использования, но им все еще можно воспользоваться. API punyPNG находится в стадии закрытого бета-тестирования (и может измениться), Конрад Чу любезно согласился предоставить нам доступ к тестовой версии.
Для того чтобы произвести оптимизацию изображения через API, вам нужно разместить его где-нибудь в интернете и узнать его URL. Именно URL используется в качестве источника данных. В обоих сервисах входные данные представлены как GET-параметры, а ответ производится в формате JSON.
Smush.it
URL, на который нужно обратиться: http://smushit.eperf.vip.ac4.yahoo.com/ysmush.it/ws.php
Параметры:
- img — URL изображения, которое нужно оптимизировать;
- id — необязательный параметр, передается в ответ без изменений, может быть использован для любых ваших целей;
- callback — необязательный параметр, имя функции JavaScript, которая будет вызвана (в качестве параметра ей будет передан JSON-объект).
Пример успешного запроса: http://smushit.eperf.vip.ac4.yahoo.com/ysmush.it/ws.php?img=http://www.publicdomainpictures.net/pictures/2000/nahled/1-1222847524s7rl.jpg
{ "src":"http:\/\/www.publicdomainpictures.net\/pictures\/2000\/ ? nahled\/1-1222847524s7rl.jpg", "src_size":50219, "dest":"http:\/\/smushit.zenfs.com\/results\/3144140b\/smush\/ ? pictures%2F2000%2Fnahled%2F1-1222847524s7rl.jpg", "dest_size":49198, "percent":"2.03" }Листинг 3.3.
Все поля достаточно очевидны, в поле "dest" указан адрес, где можно скачать оптимизированное изображение.
Пример вызова, порождающего ошибку: http://smushit.eperf.vip.ac4.yahoo.com/ysmush.it/ws.php?img=http://bolknote.ru/imgs/2009.09.29.jpg Такой запрос вернет следующий ответ:
{ "src":"http:\/\/bolknote.ru\/imgs\/2009.09.29.jpg", "src_size":148529, "error":"No savings", "dest_size":-1, "id":"test" }Листинг 3.4.
Текст ошибки говорит о том, что Smush.it не смог оптимизировать изображение. Другими причинами возникновения ошибочной ситуации могут быть, например, слишком большое изображение (более одного мегабайта) или несуществующий адрес.
PunyPNG
После того как автор закончит бета-тестирование API, получить доступ к нему можно будет, зарегистрировавшись на сайте и получив соро-кобитный ключ доступа, который нужно будет указывать при запросах на оптимизацию. В профиле, кстати, можно указать, нужно ли удалять из ваших файлов информацию EXIF.
Интересной особенностью сервиса является возможность пакетной обработки — оптимизированные изображения можно скачать единым ZIP-архивом.
URL, на который нужно обратиться: http://www.gracepointafterfive.com/punypng/api/optimize
Параметры:
- img — URL изображения для оптимизации;
- key — ваш ключ для доступа;
- groupid — необязательный параметр, идентификатор группы (может быть выбран произвольно) для пакетной обработки файлов.
Пример успешного запроса: http://www.gracepointafterfive.com/punypng/api/optimize?img= J http://www.conradchu.com/images/portfolio/targets.gif J &key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Запрос вернет следующий ответ:
{ "original_url": "http://www.conradchu.com/images/portfolio/ ? targets.gif", "original_size": 35071, "optimized_size": 27922, "optimized_url":"http://www.gracepointafterfive.com/punypng_staging/ ? attachments/514367d961c0c9c5ef80e02cc3381660b24d77d8/targets.gif.png", "group_id": null, "savings_percent": 21, "savings_bytes": 7149 }Листинг 3.5.
Оптимизированное изображение, как видно, доступно по адресу, указанному в поле "optimized_url". Если вы использовали пакетный режим (то есть указали параметр "group_id" в запросе), то ZIP-файл с оптимизированными изображениями можно скачать по URL http://www.gracepointafterfive.com/punypng/api/download_zip?group_id=гpynna
Ключ для скачивания архива не требуется. Пример запроса, порождающего ошибку: http://www.gracepointafterfive.com/punypng/api/optimize?img=http://libpng.org/pub/png/img_png/ pnglogo-grr.png&key= J XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Запрос вернет следующий ответ:
{ "error": "Sorry, the max file size supported is 150KB." }Листинг 3.6.
В настоящее время максимальный размер файлов ограничен в 150Кб, количество файлов для пакетной обработки не может быть больше пяти, а количество изображений, обрабатываемых за день, не может быть более 50. Автор планирует запуск платной версии, где ограничения можно будет снять.