7

Я делаю скриншоты (как в Академии Хана) с GIMP в качестве виртуальной доски.

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

Как я могу назначить сочетания клавиш для цветов в моей палитре, чтобы мне было легче получить к ним доступ?

4 ответа4

10

В моем случае (что привело меня к вашему вопросу) достаточно D для сброса и X для замены цветов. В сочетании с O вы можете создать несколько хороших обходных путей.

Цвета по умолчанию

По умолчанию GIMP устанавливает цвет переднего плана на черный, а цвет фона - белый, и может быть удивительно, как часто вы хотите использовать эти два цвета. Чтобы быстро сбросить эти цвета, просто нажмите клавишу D. Также вы можете легко поменять цвета переднего плана и фона, нажав клавишу X.

Источник: http://graphicssoft.about.com/od/gimptutorials/a/useful-keyboard-shortcuts.htm

1

Насколько я знаю, в GIMP такой функциональности не существует. Как вы, наверное, уже знаете, GIMP не был предназначен ни для искусства, ни для скринкастинга, и, как таковой, не нуждался бы в такой возможности.

Однако, предполагая, что вам не нужно видеть весь экран (ваш самописец использует только часть GIMP, которая является холстом), вы можете настроить несколько цветов, используя инструмент Карандаш или Кисть за пределами видимой области, чтобы создать фактическую виртуальная «палитра». Это будет так же просто, как нажать клавишу O, чтобы получить пипетку, а затем щелкнуть по одному из цветов, которые вы выберете.

1

Схематическое решение действительно медленное при использовании 15+ цветов, поэтому я создал этот скрипт на python для циклического перебора списка из 20+ цветов, и он работает намного быстрее.

#!/usr/bin/env python

# this plug-in would normally be installed in the GIMP 2\lib\gimp\2.0\plug-ins folder 
# you may need to restart GIMP for this plug-in to appear in the Colors menu
# this has been tested on Windows with Gimp 2.8.14
from gimpfu import *

def color_cycle() :
    #this code sends a message back to Gimp communicating status
    pdb.gimp_message('Attempting to set the foreground color...')

    #you can change the colors in this list to suit your needs, but every color should be unique
    colors = [(0, 0, 0), 
              (236, 236, 236), 
              (110, 110, 110), 
              (87, 87, 87), 
              (41, 28, 19),
              (255, 255, 35),
              (216, 216, 1),
              (1, 216, 6),
              (0, 119, 3),
              (0, 44, 1),
              (86, 160, 211),
              (2, 41, 255),
              (1, 22, 142),
              (0, 13, 81),
              (38, 0, 58),
              (125, 1, 188),
              (255, 192, 203),
              (255, 129, 213),
              (223, 1, 41),
              (134, 1, 25),
              (42, 0, 8),
              (224, 97, 2)
              ]

    #backup the background color
    bg = gimp.get_background()

    i = 0
    bFound = False

    while (bFound == False):
        #using background to compare helps with floating point precision problems
        gimp.set_background(colors[i])
        if (gimp.get_foreground() == gimp.get_background()):
            bFound = True
            i += 1
        else:
            i += 1
            if (i > (len(colors) - 1)):
                i = 0
                bFound = True

    if i > len(colors) - 1:
        i = 0

    #if current color found in colors, then return the next one, otherwise return the first one
    color = colors[i]
    gimp.set_foreground(color)
    #restore the backed-up background color
    gimp.set_background(bg)
    pdb.gimp_message('Done setting the foreground color...')

register(
    "python_fu_color_cycle_fg",
    "Color Cycling",
    "Cycle the foreground through a list of colors.",
    "David Zahn",
    "David Zahn",
    "2015",
    "Color Cycle ForeGround",
    "*",      # Alternately use RGB, RGB*, GRAY*, INDEXED etc.
    [
    ],
    [],
    color_cycle, menu="<Image>/Colors")

main()
1

Я хотел что-то подобное, поэтому я написал короткий сценарий. Это моя первая попытка с языком, похожим на шутку, поэтому я уверен, что приведенный ниже пример можно улучшить, но он работает для меня на gimp 2.8.

;; script-fu to cycle between a set of foreground colours
;; edit the variable colours to modify the set
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License.

(define (script-fu-cycle-foreground-colour)

 ;add to or edit the list of colours to cycle here:   
 (define colours (list '(255 255 255) '(255 0 0) '(0 255 0) '(0 0 255) '(100 100 100)))

 (define list-index
  (lambda (e lst)
  (if (null? lst)
   -1
   (if (equal? (car lst) e)
     0
     (if (= (list-index e (cdr lst)) -1)
      -1
      (+ 1 (list-index e (cdr lst)))
     )
    )
   )
  )
 )


 (gimp-context-set-foreground (list-ref colours (modulo (+ 1 (list-index (car (gimp-context-get-foreground)) colours)) (length colours))))

 (gimp-displays-flush)
)

(script-fu-register "script-fu-cycle-foreground-colour"
         _"<Image>/Colors/Cycle FG"
         _"Cycles foreground colour"
         "Jan Marchant"
         "Jan Marchant"
         "January 2015"
         "*"
)

Если вы просто хотите назначить отдельные ярлыки для определенных цветов, я думаю, что что-то очень простое, как это будет работать (не проверено):

;; script-fu to cycle between foreground colours
;; 
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License.

(define (script-fu-foreground-red)

 (gimp-context-set-foreground '(255 0 0))

 (gimp-displays-flush)
)

(script-fu-register "script-fu-foreground-red"
         _"<Image>/Colors/Foreground/Red"
         _"Sets foreground to red"
         "Jan Marchant"
         "Jan Marchant"
         "January 2015"
         "*"
)

Для Linux сохраните ваши готовые скрипты в вашей директории $ HOME/gimp-xy /scripts edit: вы должны использовать расширение .scm (похоже для других ОС, я думаю), а затем перейти к «Фильтры - Script-Fu - Обновить скрипты» в gimp , Вы должны найти новые пункты меню «Цвета - Цикл FG» и «Цвета - Передний план - Красный», и вы можете назначить им сочетания клавиш (под плагинами, но проще всего, если вы используете окно поиска).

Конечно, вы можете использовать столько цветов, сколько захотите.

Ура, янв

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .