Показаны сообщения с ярлыком Графика. Показать все сообщения
Показаны сообщения с ярлыком Графика. Показать все сообщения

1 ноября 2014 г.

Выбор обложки для руководств по LibreOffice

Занялся тут разработкой обложек для руководств по LibreOffice. Ну как разработкой... Скорее компоновкой. И вот на выбор несколько вариантов.

Задумка такова. Для каждого модуля нижняя часть обложки будет менять цвет в соответствии с цветом иконки этого модуля. И иконка будет становится насыщеннее. Все как на 5-й картинке, она для примера.

Есть 4-й вариант — сделать нижнюю полосу одного цвета независимо от модуля. А меняться будут только иконки и подписи к ним.

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

Пользователи Google+ могут проголосовать здесь: https://plus.google.com/113834493562497966363/posts/9qHPfrNYM48

Пользователи VK: http://vk.com/wall220197383_530

12 октября 2014 г.

Извлечение текста из pdf документов c помощью gpdftext

PDF очень удобный формат и в нем распространяется множество файлов, особенно учебных. Однако при копировании текста из PDF файлов в текстовые процессоры возникает проблема.
Каждая строка вставляется с отступом «первой строки».

Чтобы избежать лишней работы, я использую программу gpdftext (не путать с pdftotext). Программа есть в репозитории Ubuntu.

30 сентября 2014 г.

ImageMagick: добавление фона к изображению


Как добавить фон(background) к изображению с помощью ImageMagick?

Допустим, у нас есть изображение с прозрачным фоном.

29 сентября 2014 г.

ImageMagick: кадрирование(обрезка) изображений

Декабрь — тяжелая пора для всех студентов. Я не исключение. Сегодня срочно пришлось сканировать (точнее фотографировать) лекции и рассылать их однокурсникам. Изображений получилось много и некогда было тратить время на всякие программы вроде Scan Tailor и gscan2pdf (обе есть в репозиториях Ubuntu). Да и зачем, если под рукой есть ImageMagick и любимый скриптовый язык (в моем случае Python).

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

Таким образом, мне нужно было решить две задачи:
  1. массово уменьшить размеры фотографий
  2. массово кадрировать фотографии
С первой задачей справился мой скрипт из предыдущего поста. Со второй задачей я справился при помощи одной из команд ImageMagick. Об этом и пойдет речь дальше.

Кадрирование изображений с помощью ImageMagick

Кадрирование осуществляется простой командой:
convert -crop {size}{+-}x{+-}y input.png output.png

На деле это выглядит так:
convert -crop 500x640+60+80 input.png output.png

Чтобы понять что значит эта команда, необходимо обратиться к рисунку.
Допустим, весь лист это наше исходное изображение. Серый прямоугольник это полезная область, которая нам нужна, а все остальные поля можно обрезать. Пунктирная линия для наглядности. Серая область имеет размер 500x640 пикселей и отстоит от левого края на 60, от верхнего на 80 px.

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

Итак, применив команду "convert -crop 500x640+60+80 input.png output.png" к моему примеру я получил четко серый прямоугольник:

Массовое кадрирование изображений

Перед тем, как массово обрезать все фотографии с лекциями, мне пришлось потренироваться на одной из них, чтобы найти оптимальную область. А затем применил команду:
convert -crop 500x640+60+80 *.png output.png

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

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

После этого я загнал все изображения в один PDF файл. И тоже при помощи ImageMagick. Впрочем, это уже тема другого поста.

Массовое кадрирование изображений с разной ориентацией

Данное действие стало моим коронным номером. Если есть необходимость кадрировать изображения с разной ориентацией, то для них нужно подобрать свои пропорции оставляемой области.

За основу я взял свой скрипт py_magick, и изменил в нем всего две строчки. Не буду останавливаться на подробностях работы всего скрипта, они есть в руководстве к нему.

Изменить нужно 78 и 90 строки, вместо:
78 str = 'convert "%s" -resize %sx -quality 95 %s/"%s"' % (file, width, out, file)
и
90 str = 'convert "%s" -resize x%s -quality 95 %s/"%s"' % (file, height, out, file)
написать:
78 str = 'convert -crop 500x640+320+50 "%s" %s/"%s"' % (file, out, file)
90 str = 'convert -crop 640x500+320+50 "%s" %s/"%s"' % (file, out, file)


В 78 строке прописываются параметры для альбомно-ориентированных изображений, в 90 для портретно.

Об экономии времени

В завершении хочу обратить ваше внимание на один примечательный факт. На все эти действия у меня ушло не больше 5 минут. И все они были выполнены с помошью инструмента, который в большинстве дистрибутивов установлен по умолчанию.

ImageMagick: Пакетная обработка изображений с разной ориентацией

Пакетная обработка изображений — одновременное автоматическое выполнение операций над множеством графических файлов.

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

Моим излюбленным инструментом является программа ImageMagick вкупе с языком программирования Python.

Преимущества ImageMagick

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

Преимущества:
  • Бесплатность
  • Многоплатформенность (Linux, Mac OS X и др. UNIX-подобные, Windows, iOS)
  • Широкий набор возможностей
  • CLI-интерфейс (да-да именно это одно из основных преимуществ, но есть и графическая оболочка)
  • Наличие интерфейсов для различных языков программирования (Python, Php, Perl и др.)
ImageMagick является консольным графическим редактором. Это означает, что перед вами не будет красивого интерфейса с панелями инструментов и множеством кнопок. Все операции задаются посредством команд, вводимых в командной строке. Многих это отпугивает, но в действительности это является преимуществом программы.

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

Gpick - продвинутая программа для подбора цвета

Давно я не писал статей о чем-то, кроме LibeOffice :) Сегодня хочу рассказать об одной очень полезной программе — Gpick.

Gpick — продвинутая программа для подбора цвета. Доступна для операционных систем Windows и Linux (имеется в стандартном репозитории Ubuntu).