如何在 GIMP 中使用键盘快捷键切换颜色?

如何在 GIMP 中使用键盘快捷键切换颜色?

我正在制作截屏视频(类似于 Khan Academy 上的视频),使用 GIMP 作为虚拟黑板。

目前,切换前景色有点麻烦——我必须将笔移到工具箱中的调色板上,单击一种颜色,然后将笔移回图像窗口。这很费时间,尤其是在快速切换颜色时。

如何为调色板中的颜色分配键盘快捷键,以便更轻松地访问它们?

答案1

就我的情况而言(这让我想到了你的问题),D重置和X交换颜色就足够了。结合O你也许可以设置一些不错的解决方法。

默认颜色

默认情况下,GIMP 将前景色设置为黑色,将背景色设置为白色,您可能会惊讶地发现您经常使用这两种颜色。要快速重置这些颜色,只需按 D 键。您也可以通过按 X 键轻松交换前景色和背景色。

来源:http://graphicssoft.about.com/od/gimptutorials/a/useful-keyboard-shortcuts.htm

答案2

我知道这是一个老问题,但是 GIMP 的最新版本中有一个更好的答案。

使用调色板。

Edit>>Keyboard ShortcutsContext有几个有用的快捷方式:

  • Foreground: Use Previous Palette Color
  • Foreground: Use Next Palette Color
  • Foreground: Use First Palette Color
  • Foreground: Use Last Palette Color

还有其他选项可用于根据调色板或其他颜色源设置前景色,并且对于背景颜色也有等效的快捷方式。

以下是一个示例用例。

  • 我映射Foreground: Use Next Color#Shift+ 3)。
  • 我映射Foreground: Use Previous Palette Color@Shift+ 2)。
  • Windows>>Dockable DialogsPalettes,我创建了一个新的调色板。
  • Dockable Dialogs>下Palette Editor,我给调色板起了个名字。
  • 对于我希望使用的每种颜色,我都将前景更改为该颜色,然后Palette Editor单击Create new entry from the foreground color

当我编辑时,我使用@#在颜色之间快速切换。

答案3

据我所知,GIMP 中不存在这样的功能。您可能已经知道,GIMP 既不是为艺术设计也不是为屏幕录制而设计的,因此几乎不需要这样的功能。

但是,假设您不需要看到整个屏幕(您的屏幕录像机只使用 GIMP 的画布部分),您可以使用铅笔或画笔工具在可见区域之外设置几种颜色,以创建实际的虚拟“调色板”。然后,只需按下键获取吸管工具,然后单击您要放出的一种颜色。

答案4

当使用 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()

相关内容