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

Добро пожаловать к консольной утилите ImageMagick. Нет, вру, это набор утилит, каждая из которых выполняет свою собственную работу.

Convert — колбасит файл и сохраняет под новым именем

Mogrify — тоже, что и convert, но сохраняет в том же файле. То есть, convert — это Save As…, а mogrify — Save, без as.

Identify выводит всю информацию о файле: разрешение, цветовая модель и т.д.

Предположим, что нам нужно обработать 100500 фоток: уменьшить до 800×600, а потом ещё сделать превью размером 100×100. И конечно фото разной ориентации (портретной и ландшафтной, а не то, что вы подумали).

Уменьшить фото до нужного размера:

convert -quality 80 -resize 800×600 -strip $name «med/$name»;

  • quality — степень компрессии
  • strip — выкинуть лишнюю информацию

Сделать превью для горизонтальных фото:

convert -quality 80 -resize 180×120 -crop 120×120+30+0 -strip $name «sml/$name»;

  • crop — обрезка ширина×высота×отступ_слева×отступ_сверху

Сделать превью для вертикальных фото:

convert -quality 80 -resize 120×180 -crop 120×120+0+30 -strip $name «sml/$name»;

Узнать ширину картинки:

identify -format %w $name

А теперь соберём всё это в небольшой bash-скрипт:

#!/bin/bash
mkdir med;
mkdir sml;
for name in *.jpg; do
    convert -quality 80 -resize 180x120 -crop 120x120+30+0 -strip $name "med/$name";
    IMG_WIDTH=`identify -format %w $name`;
    IMG_HEIGHT=`identify -format %h $name`;
    if [ $IMG_WIDTH -gt $IMG_HEIGHT ]; then
        convert -quality 80 -resize 180x120 -crop 120x120+30+0 -strip $name "sml/$name";
    else
        convert -quality 80 -resize 120x180 -crop 120x120+0+30 -strip $name "sml/$name";
    fi;
done;

Вот такая вот небольшая магия.

Недавно Слава Олиянчук спросил в твиттере, размечаем ли мы номера телефонов как ссылки. Всё правильно спросил, номер телефона стоит размечать как ссылку с псевдопротоколом tel. В этом случае браузеры, которые понимают этот псевдопротокол1, смогут сразу набрать нужный номер.

Вот только что делать с теми браузерами, которые не могут никуда позвонить? В принципе, при клике по такой ссылке ничего не произойдёт, раньше таким же образом делались javascript-ссылки2. При этом пользователь всё равно будет видеть такую ссылки и пытаться по ней кликнуть и расстраиваться из-за того, что ничего не работает.

Давайте спрячем такие ссылки от пользователя? Например вот так:

a[href^="tel:"] {
    text-decoration:none;
    color:inherit;
    cursor:default;
    }

Эта несложная запись сделает любую ссылку, начинающуюся с «tel:» абсолютно неотличимой от потока текста, работает во всех современных браузерах.

Примечания.

  1. Мобильные браузеры, десктопные с установленным скайп-плагином
  2. Сейчас все правильные мальчики и девочки используют ненавязчивый JS

Все программы Adobe для дизайна используют по умолчанию шрифт Myriad Pro. Шрифт неплохой, с большим числом начертаний, но уж больно примелькавшийся. Я даже иногда думаю, что использование этого шрифта дизайнером — признак его дурного вкуса и лени.

Нет, конечно ничто не мешает менять шрифт при работе с текстом, но это ужасно утомительное занятие.

И вот, наконец, мне это надоело и я решил поменять дефолтный шрифт раз и навсегда. На PT Sans, например.

Настройки нового документа в Illustrator хранятся в шаблонах. Осталось найти их и отредактировать.

Начинаем создавать новый документ. В окошке «New Document» раскрываем список «New Document Profile» и выбираем пункт «Browse…»

 

В открывшемся окне мы увидим список обычнх ai-файлов, которые нужно поочерёдно открыть и отредактировать. Запоминаем папку, в которой они лежат и открываем файлики. Начнём с Basic CMYK.ai

 

Параметры дефолтного шрифта находятся в настройках дефолтного стиля (поддержка стилей текста — это то, чего в первую очердь не хватает в Photoshop).

Открываем палитру Window > Type > Character Styles и делаем двойной клик по стилю [Normal Character Style].

В открывшемся окошке «Character Styles Options» переходм в категорию «Basic Character Formats» и устанавливаем нужные параметры шрифта. В категории «Advanced  Character Formats» будет полезно изменить параметр Language на Russian, чтобы заработал автоперенос.

Сохраняем файл, и аналогичным образом изменяем остальные файлы шаблонов.

Вотафак-2

14.03.2011

Иногда я заглядываю в статистику этого сайта и смотрю, какие же поисковые запросы приносят посетителей. Наиболее популярным в последнее время стал «Вотафак что это».

Мне стало несколько стыдно, потому что про «вотафак» у меня совершенно нерелевантная запись (Марат, жпег по-прежнему страшен). Поэтому напишу-ка я продолжение. Релевантное, именно то, что все хотят узнать.

Что такое вотафак? Всё просто — это транслитерированное англоамериканское ругательство «What the/a fuck». Гугл-транслейт переводит его, как мне кажется, не совсем правильно. Лично я употребляю его, когда хочется сказать «Что за хуйня?»

Видите, дети, какой нехороший пост получился? Зато теперь вы всё знаете.

Все мы знаем Microsoft, знаем что она любит идти своим путём и считает этот путь единственно верным. Возьмём, к примеру, видео. Весь мир публикует видео во флеше. Прогрессивное человечество считает, что флеш — зло и использует тег <video>. Microsoft тоже считает, что флеш зло, но и тег <video> не признаёт, у неё своя игрушка — сильверлайт.

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

Что же делать, если посмотреть видео на сайте Майкрософт хочется, а нужного плагина нет? Предположим, что мы хотим посмотреть вот это видео с сайта techdays.ru. Нам предложат установить плагин, но мы не будем этого делать.

Открываем исходный код страницы и находим следующий кусок кода:

<div id=»silverlightPlayer»>
<object data=»data:application/x-silverlight-2,» type=»application/x-silverlight-2″ style=»height:380px;width:460px»>
<param name=»source» value=»http://www.techdays.ru/TechDaysPlayer.xap»>
<param name=»initParams»
value=»SourceUri=http://www.techdays.ru/get.aspx?MID=d20b7e23-ca80-421c-b3b9-2d71d5913816
&amp;IsSilverLight=true,SimilarLecturesUrl=http://www.techdays.ru/HttpHandlers/LecturesHandler.ashx?Num=3325,
ReplayToolTip=Replay, FrameUrl=http://www.techdays.ru/LectureContentImage.aspx?ContentId=d20b7e23-ca80-421c-b3b9-2d71d5913816
&amp;width={0}&amp;height={1}»>
</object></div>
  • Копируем значение SourceUrl (то, что выделено полужирным)
  • Запускаем VLC
  • Выполняем команду «Media > Open URL»
  • Вставляем скопированный адрес
  • Смотрим видео.
UPD: Этот способ не работает в случае с потоковым вещанием на разного рода конференциях.