Как переключать цвета с помощью сочетаний клавиш в GIMP?

Я делаю скринкасты (как в Khan Academy) с GIMP в качестве виртуальной доски.

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

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

23
задан Qrtn
15.01.2023 21:56 Количество просмотров материала 3621
Распечатать страницу

4 ответа

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

Цвета По Умолчанию

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

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

10
отвечен yoshi 2023-01-17 05:44

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

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

1
отвечен fakedad 2023-01-17 08:01

Я хотел что-то подобное, поэтому я написал короткий скрипт. Это моя первая попытка с языком, подобным lisp, поэтому я уверен, что приведенный ниже пример можно улучшить, но он работает для меня на 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-x.y / scripts каталог edit: вы должны использовать расширение. scm (аналогично для других ОС, я думаю), а затем перейдите к "Filters - Script-Fu - Refresh Scripts" в gimp. Вы должны найти новые пункты меню "Colors-Cycle FG" и "Colors - Foreground - Red", и вы можете назначить им сочетания клавиш (под плагинами, но проще всего, если вы используете поле поиска).

конечно вы можете удлинить к так много цветов по мере того как вы любите.

Ура, Jan

1
отвечен JM1 2023-01-17 10:18

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

#!/usr/bin/env python

# this plug-in would normally be installed in the GIMP 2\lib\gimp.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
отвечен David Zahn 2023-01-17 12:35

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх