Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

А где вы делаете «ногти»?

Разработка веб-сайтов *
Когда идет речь о веб-разработках рано или поздно встаёт вопрос о том как и в чем подготавливать превью-картинки (thumbnail) на стороне веб-сервера. Вопрос о ручной подготовке отпадает автоматически, куда более приятно загрузить картинку и ни о чем больше не думать. Вот о том как не думать и пойдёт речь.
Читать дальше →
Всего голосов 26: ↑21 и ↓5 +16
Просмотры 2.5K
Комментарии 70

Фотошопим на PHP

PHP *
Уменьшаем изображение разными библиотеками и сравниваем результат Для многих задач автоматической обработки фотографий не подходит качество и функционал библиотеки GD. Поскольку возможности обратиться к Photoshop из PHP или Perl пока не существует, решаем проблему с помощью ImageMagick.

Речь пойдет о PHP инрефейсе к ImageMagick MagickWand, который в репозитарии Fedora называется php-magickwand. Хочу обратить Ваше внимание, что MagickWand API отличается от классического ImageMagick тем что позволяет работать как с элементами растровой графики, так и с элементами векторной графики.

Для php есть еще одна реализация интерфейса к ImageMagick, которая называется IMagick, но функционал этой библиотеки, на мой взгляд, уступет MagickWand.


В первой статье рассмотрим на примерах несколько типичных задач по обработке изображений и сравним результаты с php-gd.



Читать дальше →
Всего голосов 66: ↑64 и ↓2 +62
Просмотры 1.9K
Комментарии 31

Делаем вебдванольные превьюшки с ImageMagick

PHP *
Недавно, у меня случилась проблема с GD на сервере — он перестал понимать png, после получаса мытарств, решил посмотреть на ImageMagick и его PHP интерфейс IMagick
После недолгого гугления нашел замечательный блог посвященный Imagick. Там же нашел способ делать красивые превьюшки. Однако, способ, предложенный там, правильно отрабатывал только с png картинками. Я немного поковырялся и сделал свой.

Читать дальше →
Всего голосов 73: ↑59 и ↓14 +45
Просмотры 15K
Комментарии 54

Оптимизация изображений, часть 3: 4 шага для уменьшения размера файлов

Клиентская оптимизация *
Перевод
Примечание: ниже расположен перевод заметки Image Optimization, Part 3: Four Steps to File Size Reduction от Stoyan Stefanov. В ней рассматриваются наиболее популярные консольные утилиты для минимизации изображений. Мои комментарии далее курсивом.
Stoyan StefanovОб авторе: Stoyan Stefanov работает веб-разработчиком в команде Yahoo! по исключительной производительности и руководит разработкой инструмента для анализа производительности — YSlow. Он также внес значительный вклад в программы, разрабатываемые с открытым исходным кодом, выступает на конференциях и является техническим писателем: его последняя книга озаглавлена Объектно-ориентированный JavaScript.

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

Текущая заметка посвящена некоторым наиболее часто используемым инструментам, которые можно применить для уменьшения размера изображений. Идея заключается в следующем: мы можем получать все изображения от дизайнера, но не оставлять их в исходном виде, а немного уменьшать в размере, используя указанные ниже инструменты. Это позволит автоматизировать процесс без необходимости глубокого анализа структуры изображения.
Читать дальше на webo.in →
Всего голосов 108: ↑90 и ↓18 +72
Просмотры 4.3K
Комментарии 19

Оптимизация изображений, часть 4: последовательные JPEG — быть или не быть?

Клиентская оптимизация *
Перевод
Примечание: ниже перевод заметки «Image Optimization, Part 4: Progressive JPEG…Hot or Not?» из блога YUI. В ней уже известный по прошлым статьям Stoyan Stefanov рассматривает использование последовательных (progressive) JPEG с точки зрения клиентской оптимизации. Мои комментарии далее курсивом.

В своей предыдущей статье «Оптимизация изображений, часть 3: 4 шага для уменьшения размера файлов» последовательные JPEG-файлы были вскользь упомянуты как одна из возможностей для оптимизации JPEG. Эта статья рассматривает данный вопрос более глубоко, включая результаты проведенного эксперимента над 10000 изображений.

Базовые (baseline) и последовательные JPEG



Базовые JPEG являются «обычными»: файлы этого типа поддерживаются всеми программами для редактирования изображений. Браузеры загружают их последовательно, сверху вниз, по мере поступления информации из сети.

Загрузка базовых JPEG

Загрузка базового JPEG-файла в браузере. По нажатию откроется полная версия.

Последовательные JPEG являются другой разновидностью данного формата: они загружаются (как можно понять из названия) последовательно. Сначала вы увидите картинку низкого качества. Затем, по мере поступления графической информации, качество изображения будет постепенно улучшаться.

Загрузка последовательных JPEG

Загрузка последовательных JPEG. По нажатию откроется полная версия.

Читать дальше на webo.in →
Всего голосов 77: ↑72 и ↓5 +67
Просмотры 5.9K
Комментарии 40

Демон конвертации видео в FLV

Разработка веб-сайтов *
Решил поделиться недавно написанным кодом демона для видеохостинга.
Принцип демона прост. Демон смотрит в папку, куда загружаются видеофалы, и при появлении там новых, копирует в другую папку, запускает в фоне процесс конвертации, создает превьюшку, и копирует полученное видео в папку пользователя.
Читать дальше →
Всего голосов 40: ↑39 и ↓1 +38
Просмотры 3.4K
Комментарии 31

Пакетное масштабирование изображений

Настройка Linux *
Столкнулся с необходимостью масштабирования большого количества фотографий. Конечно, думаю есть и более элегантное решение,
но поскольку гугла под руками не было — быстро набросал фронт к imagemagick на bash. Думаю, кому-то он может пригодиться.
Читать дальше →
Всего голосов 55: ↑44 и ↓11 +33
Просмотры 2.4K
Комментарии 47

Сжатие картинок под нужный размер в Windows

Чулан
Хочу поделиться с ХабраЛюдьми одной АйТишной историей, что произошла со мной в Новогодние праздники. Одним из моих новогодних подарков стала цифровая фоторамка от DICOM(вполне приличная, кстати, вещь). Содержит она в себе 128 МБ встроенной памяти и удобный интерфейс для заливки фоток — ака флэшка. Но вот ни задача — в домашнем архиве на компе фотки хранятся полноразмерные, а вот на флешке они ужимаются до малых размеров и показываются умиленному пользователю. Надо как то бороться с расточительством — сжимать каждую фотку ручками дело хлопотное!

Читать дальше →
Всего голосов 18: ↑15 и ↓3 +12
Просмотры 751
Комментарии 22

UPD. Демон конвертации видео в FLV.

Разработка веб-сайтов *
Это продолжение, а точнее развитие, статьи написанной ранее.

В результате небольшого рефакторинга, получилось повысить производительность, и упростить код. Результатом стало изменение перечня используемого софта.
Читать дальше →
Всего голосов 30: ↑28 и ↓2 +26
Просмотры 2.1K
Комментарии 53

Небольшой, но полезный скрипт пакетной обработки фото с помощью ImageMagic

Настройка Linux *
Продолжаю делиться своими наработками в области shell программинга. На сей раз это небольшой скрипт пакетной обработки JPG картинок. Умеет не очень много, но именно то, что надо, а именно:
* Ресайз фоток
* Изменение степени сжатия
* Наложение вотермарка (с помощью composite)

Не херит EXIF информацию (нужен jhead). Имеет несколько параметров, описание которых можно получить в справке (ключик -h)

В остальном все просто, но так влом иногда делать простые вещи :) Так что надеюсь кому-то скрипт будет полезен.

Читать дальше →
Всего голосов 12: ↑9 и ↓3 +6
Просмотры 3K
Комментарии 3

Изменяем размер изображений правильно

Чулан
Долгое время меня терзали сомнения, почему же в моем блоге фотографии смотрятся тускло и кажутся размытыми. Выставление качества 100% не спасало, а лишь увеличивало размер файлов.

Наконец то сегодня нашел время установить ImageMagick. Пришлось исправить пару багов в Drupal, который вместо того, что бы запустить бинарник, требовал к нему доступ на чтение, которое хостер не дает.

Разница на лицо.
Фото до и после
Всего голосов 18: ↑8 и ↓10 -2
Просмотры 393
Комментарии 32

CSS спрайты из командной строки

Клиентская оптимизация *
Из песочницы
Да, инструменты для создания CSS спрайтов существуют. Я даже сделал один такой сервис. Но они время от времени ломаются (как сейчас, мой). Но и командная многого стоит, и imagemagick. Давайте посмотрим, как мы можем создавать CSS спрайты только из командной строки.

Создание картинки


Начнем с того, что у нас есть список отдельных файлов:
$ ls

1.png  2.gif  dot.png  phoney.gif  tw.gif

  • — 1.png
  • — 2.gif
  • — dot.png
  • — phoney.gif
  • — tw.gif

Сделаем из них спрайт:
$ convert *png *gif -append result/result-sprite.png

Да, это все. Смотрим результат.

Читать дальше →
Всего голосов 139: ↑129 и ↓10 +119
Просмотры 3.9K
Комментарии 22

VkOMG. Разработка очередного никому не нужного сервиса

Я пиарюсь
Из песочницы
image
Меня всегда интересовали разнообразные «плюшки» для социальных сетей с точки зрения маркетинга. А именно то, как быстро войдет этот очередной бред в массовое пользование и то, сколько сил будет затрачено на достижение данного эффекта. Ниже я расскажу результат того, что я узнал на примере нашей последней работы vkomg.com

Уже несколько лет работаю фрилансом в американской компании, ориентирующейся на веб-разработках. Работа вполне стандартная для среднестатистической фриланс конторки: доработка кривого кода, доставшегося по наследству от прошлых разработчиков проекта, плюшки и плагины для CMS, иногда неплохие масштабные стартапы. Все это, конечно, хорошо. Но давно известно, что мелкие, на первый взгляд никому не нужные вещи приносят отдачи намного больше. Поэтому, в один прекрасный день, увидев на фейсбуке новые профили, мы разработали сервис по созданию очередного никому не нужного забавного аватарного эффекта.
image
Пару дней назад, увидев, что на родном ВКонтакте появился точно такой же блок с фотографиями около главного фото, мы загорелись идеей переделать имеющийся фейсбуковский проект под вконтакте в первый же день.
Добившись довольно интересных результатов в США, не выложив на продвижение никаких средств со своего кармана, начав всего с одной ссылки в собственном профиле, стало очень интересно какие результаты покажет Россия.
Конкретные цифры, история, результаты и куски кода в продолжении поста.

UPD: Хабраэффект в действии. Ругаемся с техподдержкой за несоответсвие обещаной максимальной нагрузки действительности.
UPD2: Хостер исправился. Сервер в полном здравии.

Читать дальше →
Всего голосов 142: ↑123 и ↓19 +104
Просмотры 1K
Комментарии 76

Забавные возможности ImageMagick в помощь веб дизайнеру

Настройка Linux *
Сейчас когда на сайте нужно отобразить много мелких деталей, рамочки и тенюшки или оформления кнопок, делают один большой файл где все картинки идут друг за другом вертикально. Обладатели ImageMagick могут создать его одной командой.
Читать дальше →
Всего голосов 94: ↑81 и ↓13 +68
Просмотры 3.3K
Комментарии 31

Пакетная обработка изображений в Picasa с помощью ImageMagick

Обработка изображений *
imageВ нашем офисе мы используем Picasa для обработки множества сканов и фотографий. Мы используем Picasa уже несколько лет и очень довольны. Однако, Picasa не предоставляет всех необходимых нам функций, а некоторые слишком сложно использовать при нашем объеме работ. Чтобы упростить нашим сотрудникам задачу, я решил автоматизировать некоторые процессы, используя два основных компонента: набор консольных утилит ImageMagick, и довольно малоизвестный Picasa Button API.

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

Читать дальше →
Всего голосов 50: ↑49 и ↓1 +48
Просмотры 4.7K
Комментарии 7

Re: Командная строка на службе фотографа-линуксоида

Настройка Linux *
Из песочницы
Недавно опубликована статья «Командная строка на службе фотографа-линуксоида», где автор пишет о решении разных типовых задач, встающих перед фотографом-линуксоидом, но он рассмотрел явно не всё.

Первая, а точнее, нулевая задача — скопировать изображения. Казалось бы, в ней нет чего-то такого, что бы подлежало оптимизации и автоматизации: всегда можно нажать F5 в mc либо перетащить файлы мышкой или же воспользоваться каким-нибудь менеджером фотографий наподобие digiKam. Можно — но не нужно: слишком много лишних движений. Фотографу-линуксоиду (а точнее, линуксоиду, время от времени занимающемуся фотографией) обычно надо лишь забрать фотографии с карты памяти, аккуратно сложить их на жёсткий диск, рассортировав, например, по времени съёмки и, если лишние буквы раздражают взгляд, убрать их.

Другая задача, о которой говорили в комментариях — пакетное уменьшение фотографий и их подписывание. Один из методов — использовать ImageMagick, к которому доступны различные интерфейсы: как интерфейс командной строки (программы convert, mogrify, montage), так и API для различных языков программирования. В случае с перлом — модуль Image::Magick. ImageMagick позволит и уменьшить фотографию, и подписать её.

Я подобные задачи автоматизировал следующим образом:
Читать дальше →
Всего голосов 54: ↑50 и ↓4 +46
Просмотры 2.9K
Комментарии 39

Модуль для получения скриншотов из видео — nginx-video-thumbextractor-module

Nginx *

Получаем скриншоты из видео через NGINX средствами ImageMagick и ffmpeg


Совсем недавно появился новый модуль nginx-video-thumbextractor-module
Хотел опубликовать как ссылку но как видно топиков-ссылок больше нет. да и как перевод уже не подходит ибо добавил отсебятины.
В любом случае считаю что стоит поделиться этим замечательным модулем с Хабровчанами.
В статусе указано что он готов для продакшена, что очень радует.
Читать дальше →
Всего голосов 28: ↑27 и ↓1 +26
Просмотры 3.6K
Комментарии 19

Расширяем класс Imagick

PHP *
Из песочницы
Приветствую всех своих первых читателей!

Завязка


Написать эту самую первую статью меня толкнул всего один единственный баг в библиотеки Imagick, который отнял у меня некоторое время.

Началось всё с того, что была задача написать некий класс на php для работы с изображениями. Решил прибегнуть к помощи ImageMagick и к расширению Imagick.
Сам класс Imagick имеет обширное количество методов, однако требовалось расширить его и добавить собственные методы, такие, как проверка существования кеша изображения и получения пути к нему, собственно само кеширование ну и некоторые другие вспомогательные.

Для этих целей был написан нехитрый класс:
<?php
namespace app;
class Images extends \Imagick {
    private $_filePath = null;
    private $_cacheFile = null;

    // переопределенный метод
    public function readImage($filePath) {
        $this->_filePath = $filePath;
        parent::readImage($this->_filePath);
    }
    
    // что-то от себя
    public function myMethod() {

    }

    // дальше идёт продолжение кода...
?>


Теперь давайте разберёмся, почему этот класс работать НЕ будет.
Читать дальше →
Всего голосов 7: ↑5 и ↓2 +3
Просмотры 4K
Комментарии 14

Создаём Instagram фильтры с помощью PHP и ImageMagick

Разработка веб-сайтов *PHP *Программирование *
Перевод
image

В этой статье я покажу как создать некоторые эффекты на фотографиях (как на Instagram) с помощью PHP и ImageMagick.
Читать дальше →
Всего голосов 65: ↑63 и ↓2 +61
Просмотры 19K
Комментарии 19