Как стать автором
Обновить

Комментарии 40

Гуд, топик порадовал. И выглядит результат хорошо.
Красота! Спасибо за ценный материал.
Если уж писать скрипты, то тогда можно и ImageMagick взять.
И GIMP не нужен, и писать можно на чем угодно, включая bash.

Еще лучше брать GraphicsMagick, как более продвинутый форк.
ImageMagick хорош для пакетной обработки. А нам в большинстве случаев нужно работать с каждым изображением вручную — кадрировать, добавлять сноски и подписи, собирать в коллажи. Т.е. GIMP все равно нужен. А скрипты упрощают те операции, которые руками долго делать.
Каким образом вам удалось получить вот такой скриншот? Белая обоина?:)
Статья порадовала, на заметку схвачено, спасибо.
Три варианта с ходу:
1. Белые обои;
2. На заднем плане программа с белым фоном окна (при написании документации хорошо подходит Word :));
3. Просто выделить и отрезать все лишнее :)
> при написании документации хорошо подходит Word

Тогда уж OpenOffice.org Writer, раз уж дело происходит в Ubuntu.
Хорошо, напишем «подходит используемый вами текстовый редактор» :)
Почти угадали. Пустой файл в gedit :-) Остается откадрировать начерно, и добить автокропом. Минус в том что фон остается белым, без альфа-канала, и изображение не получится поставить на веб-страницу с произвольным фоном. Обычно в таких случаях делаем захват через SnagIt с опцией Multiple Area, дальнейшая обработка в GIMP.
Я в таких случаях ставлю белый фон вместо обоев. Делаю скриншот, вырезаю нужное окно захватывая фон. Потом создаю новое изображение с прозрачным фоном, вставляю снимок и удаляю белый фон, добавляю тень. Получается нечто такое. Правда есть единственный минус — все действия занимают около минуты, никакой автоматизации.
Именно такое подрезание фрагмента окна сейчас бы очень пригодилось по работе!
С нетерпением жду продолжения
Shutter под Linux же есть.
За Shutter спасибо. Судя по скриншотам это мощная штучка, пощупаю на досуге.
Автоматизация очистки углов окон — это в самом деле круто! :)

На счет добавления теней я бы не согласился — при печати будет выглядеть грязно. Особенно если печать офсетная или на офисном лазернике.
Мы документацию поставляем только в электронном виде. PDF-версии могут содержать тысячи и десятки тысяч страниц — врятли кто-то захочет их распечатывать. Если только фрагменты для временного использования. Ну а для офсетной полиграфии материалы готовить — тут Гимп пока не поможет — поддержки CMYK нет.
А самом деле тысячи страниц? Ничего так у вас документация! :)

Если кто-то захочет распечатать две страницы, то это уже повод подумать о выводе на печать.

Что касается CMYK — он актуален при подготовке оригинал-макета документа, печатаемого в цвете. Тогда перевод в CMYK выполнят при верстке или уже в типографии. До этого момента картинки даже проще хранить в RGB или Grayscale (если заранее известно, что документ будет отпечатан в черно-белом варианте). Так что можно готовить в GIMP :)
Если всерьез озаботиться красотой распечатки, нужно еще массу ньюансов учитывать. Например, субпиксельное сглаживание. На цветной распечатке будут артефакты вокруг букв и тонких линий. А отключишь сглаживание — электронная версия будет страшненькая. Мы готовим иллюстрации рассчитанные на просмотр на мониторе — поддерживать еще и версии для печати слишком накладно.
По моему опыту никаких проблем не возникает при передаче в печать скриншотов, сделанных при включенном сглаживании шрифтов. Особенно если типография адекватная и не выдает откровенны брак при печати.

Артефакты будут, если кто-то догадается в JPEG сохранять скриншоты вместо TIFF (собственно, полиграфический стандарт).
О, Ради Всего Святого Фомы!

Напишите скрипт, который будет сохранять файл в определенный каталог с именем, который состоит из текста и макросов вроде «текущее время час-минута-секунда»!

Умоляю!

Я тестировщик, и когда приходится работать под Ubuntu, делаю скриншоты с Gimp. А там приходится делать много лишних кликов при сохранении скриншота.

В SnagIt это дело рулит — одним нажатием скриншот сохраняется с уникальным именем (макросы рулят), а как сделать это в Gimp — хз, не владею ни скриптфу, ни лиспом, ни перлом, ни питоном (дальше перечислять?).

Тогда Gimp начнет рулить бесповоротно и в тестировании.
У Святого Фомы не оказалось аккаунта на Хабре, так что он попросил меня запостить этот исходник :-)
(define (script-fu-instant-save image drawable)
	(let* (	(date-now (time))
		(year (number->string (+ (car date-now) 1900)))
		(month (number->string (+ (cadr date-now) 1)))
		(day (number->string (caddr date-now)))
		(time-now (cdddr date-now))
		(hour (number->string (car time-now)))
		(minute (number->string (cadr time-now)))
		(second (number->string(caddr time-now)))
		(filename)
		; можно вписать любой поддерживаемый тип файла
		(extension "png")
		; этот путь должен существовать
		(dir "/home/user/screenshots/") )
	(if (= (string-length month) 1) (set! month (string-append "0" month)))
	(if (= (string-length day) 1) (set! day (string-append "0" day)))
	(if (= (string-length hour) 1) (set! hour (string-append "0" hour)))
	(if (= (string-length minute) 1) (set! minute (string-append "0" minute)))
	(if (= (string-length second) 1) (set! second (string-append "0" second)))
	(set! filename (string-append 
		dir year "-" month "-" day "--" 
		hour "-" minute "-" second "." extension) )
	(gimp-file-save 1 image drawable filename filename)
	)
)
(script-fu-register "script-fu-instant-save" 
                    "<Image>/File/Быстрое сохранение копии" ""
                    "Saint Thomas" ""
                    "23.10.2010"
                    "*"
                    SF-IMAGE "Image" 0
                    SF-DRAWABLE "Drawable" 0 )

Как подключить, должно быть понятно из текста статьи. В меню «Файл» появится «Быстрое сохранение копии». Результат — файл с именем вида YYYY-MM-DD--hh-mm-ss.png в /home/user/screenshots/.
Офигенно!

Я ваш идолопоклонник навеки!

Пойду протестирую скрипт.
Посмотрел в настройки моего Gimp. В качестве путей для хранения скриптов указано два адреса:
* c:\Documents and Settings\alexei\.gimp-2.6\scripts\
* p:\Program Files\GIMP\share\gimp\2.0\scripts\

Решил использовать первый:

1)
Заменил в скрипте строку
(dir "/home/user/screenshots/")
на
(dir «s:\_SnagIt_Catalog\»)

2)
Положил скрипт в C:\Documents and Settings\alexei\.gimp-2.6\scripts\quickSaveFile.scm

3)
Обновил сценарии в Gimp.

ПРОБЛЕМА
Ошибка при загрузке C:\Documents and Settings\alexei\.gimp-2.6\scripts\quickSaveFile.scm:

Error: eval: unbound variable: 

Ошибка при загрузке P:\Program Files\GIMP\share\gimp\2.0\scripts\3d-outline.scm:

Error: unmatched parentheses: 1


Wtf? При чем тут 3d-outline.scm? Я его вообще не трогал ни разу.

4)
Проверил в редакторе кода все скобки. Вроде ни одной лишней нет.

5)
Перезапустил Gimp. На стадии script-fu он наглухо задумался.

Минут через пять загрузился.

6)
Прошел в меню «Фильтры», но не нашел там пункта «Мои скрипты».

7)
Убрал скрипт из c:\Documents and Settings\alexei\.gimp-2.6\scripts\ и положил его в p:\Program Files\GIMP\share\gimp\2.0\scripts\.

8)
Перезапустил Gimp. Опять зависание на моменте загрузки script-fu.

9)
Убил процесс, убрал скрипт, перезапустил Gimop. Поднялся шустренько, как в свои самые молодые годы.

ВОПРОС

Что не так сделано, если предположить, что текст скрипта не менялся существенно?

Имеет ли значение кодировка документа scm?
Так.

Поиграл с названием файла и его кодировкой.

При принудительном обновлении сценариев достиг ошибки «Error: syntax error: illegal token 1»

Тут английским по-белому говорят, что
или
My guess is that you acquired some unwanted linefeeds in the comments. Comments extend from the first semi-colon up until the end of the line and therefore, if you split the comment over multiple lines then you must be sure to prepend a semicolon to the added lines.

или

One too many end paranthesises may also cause this error.

Где правда — хз.

Куда копать?

ЗЫ Ваш исходный скрипт из первого примера «script-fu-quick-shadow» поставил, применил — работает адекватно.
Вы написали:
Заменил в скрипте строку
(dir "/home/user/screenshots/")
на
(dir «s:\_SnagIt_Catalog\»)

Кавычки-елочки откуда-то взялись — поправьте на обычные.
У меня на print screen висит команда
scrot '%Y-%m-%d-%T.png' -e 'mv $f ~/screenshots/'
Очень разумно, но большей частью весь экран захватывать не нужно (да и у меня два монитора), требуется URL да проблемное место на странице.
Тогда можно воспользоваться ImageMagic. Появится курсор для выбора области:
import png:`date +'%Y-%m-%d-%T'`.png

У scrot есть ключик -s: дает пользователю выбрать окно (сингл-кликом) либо произвольный регион.
Ключик -b: при выборе окна шотить его с декорациями.

Life is too short for manual pages, eh?
Важно выбрать мануал правильной программы =)
scrot ~/screenshots/%Y-%m-%d-%T.png

не?
Повесил себе на хоткей вот это:

xfce4-screenshooter -r -o «cp -t /home/keks/screens „

Автоматом схороняет выделенную область в нужную папку под именем вида “Снимок экрана — 28.10.2010 — 16:41:38.png», не задавая вообще никаких вопросов.
У меня алгоритм действий слегка другой:

1) Сделать скриншот.

2) Указать на нем проблемное место (или последовательность действий, или что еще — стрелки рисовать, в общем).

3) Схоронить файл в нужную папку с именем вида “Снимок экрана — 28.10.2010 — 16:41:38.png», не задавая больше вообще никаких вопросов.
В этой статье мы рассмотрим, как редактор растровой графики GIMP и его встроенный язык сценариев script-Fu могут пригодиться для подготовки иллюстраций.

Neo - I know Kung-Fu
Думаю есть у вас есть SnagIt то описаное вам не нужно. С ним поставляется редактор который умеет очень с много с нарисованого вами, а GIMP как из пушки по воробъям, да и технические писатели не вледеют обычно Lisp.
Думаю есть у вас есть SnagIt то описаное вам не нужно. С ним поставляется редактор который умеет очень с много с нарисованого вами

Мы уже писали, что результаты обработки во встроенном редакторе SnagIt нас не вполне устраивают. К тому же там нельзя создавать свои расширения :-)

GIMP как из пушки по воробъям

Это скорее про Photoshop…

да и технические писатели не вледеют обычно Lisp.

Кстати, автор статьи — технический писатель :-)
Кстати, автор статьи — технический писатель :-)

Я это понял. Среди моих знакомых техписов наверное более 20. Програмировать вообще умеют человек 5 и то на Паскале школьные задачки и это очень много. LISP-ом не владеет ни единый. Учитывая что даже среди програмистов LISP не снискал большой популярности вероятность существования техписа с знаниями оного стремится к нулю. Это только чтобы проилюстрировать что ставить автора как пример немного неправильно.

А за скрипт спасибо, может пригодится.
Я это понял. Среди моих знакомых техписов наверное более 20. Програмировать вообще умеют человек 5 и то на Паскале школьные задачки и это очень много. LISP-ом не владеет ни единый. Учитывая что даже среди програмистов LISP не снискал большой популярности вероятность существования техписа с знаниями оного стремится к нулю. Это только чтобы проилюстрировать что ставить автора как пример немного неправильно.


Ну, техрайтеры техрайтерам рознь. Тут многое зависит от предметной области, которую они описывают ;)

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

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

А вообще, смысл статьи, по-моему, был всё-таки не в том, что любой технический писатель должен проходить ровно тот же путь, что и автор: брать GIMP и писать скрипт на LISP. Смысл статьи в том, что есть бесплатный GIMP, есть скрипт, решающий проблему — берите и пользуйтесь, если кому надо. А если кто хочет, можете написать свой скрипт — для этого автор показывает, что там и как…
Даже не подозревал что Gimp можно использовать таким макаром. Возьму на вооружение.
Посмотрел в Shutter есть script-fu-quick-shadow подобный плагин назвается Hard Shadow и плагин для волновй обрезки. Но спасибо за статью всегда боялся=) подойти к лиспу=) с этой точки зрения. но все оказалось просто.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий