Как узнать размеры текущего выделения в GIMP?

Как узнать размеры текущего выделения в GIMP?

Часто мне нужно измерить размеры части изображения (в пикселях). В Photoshop я могу сделать прямоугольное выделение и увидеть размеры в окне «Информация» (или что-то вроде того). Как это сделать в GIMP? Единственное, что я смог придумать, это:

  1. Сделайте выбор
  2. Создайте новый слой.
  3. Заполните выборку
  4. Автоматическая обрезка слоя
  5. Откройте диалоговое окно слоя масштаба, чтобы увидеть размеры.

Должен быть более простой способ.

решение1

В GIMP строка состояния в нижней части окна будет показывать вам размеры во время выделения, но она исчезнет, ​​когда вы завершите выделение. Я подозреваю, что это потому, что выделение может иметь форму, отличную от прямоугольника. Если вы хотите увидеть его впоследствии, убедитесь, чтоОкна --> Закрепляемые диалоговые окна --> Параметры инструментовпанель включена. Возможно, она уже закреплена на панели инструментов. Это покажет вам положение и размер Rectangle Select. Вы также можете изменить размер выделения из этой панели.

Я использую GIMP 2.8 на Windows.

решение2

Если приведенные выше решения неразборчивы и ваш выбор соответствует текущему слою, вы также можете измерить размер слоя с помощью «Слой» -> «Масштаб слоя».

решение3

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

Редактировать:

Я нашел ответ самостоятельно, самым простым решением было открыть диалоговое окно гистограммы (Windows → Закрепляемые диалоговые окна → Гистограмма), там можно увидеть количество пикселей в выбранной области.

введите описание изображения здесь

решение4

Информацию о текущем выделении можно найти даже до/после использования инструментов выделения. В Gimp 2.10 эти данные отображаются с помощью функции pdb.gimp_selection_bounds(), которую можно запустить из консоли Python (Filters/Python-Fu/Console):

>>> [pdb.gimp_selection_bounds(img) for img in gimp.image_list()]
[(1, 124, 180, 310, 257)]

Здесь 1указывает, что выбор не пустой, 124и 180показывают начальные точки x и y для выбора, а 310и 257показывают конечные точки x и y для выбора. Обратите внимание, что независимо от того, насколько сложным является ваш выбор, вы все равно получите информацию только для одного прямоугольника, охватывающего все компоненты выбора. Если вы растушуете выбор, размеры будут увеличены, чтобы покрыть даже самые незначительные % выбранных пикселей. В списке будет более одной записи, если у вас открыто более одного изображения.

>>> pdb.gimp_selection_bounds(gimp.image_list()[0])
(1, 98, 130, 254, 216)

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

>>> bounds = [pdb.gimp_selection_bounds(img) for img in gimp.image_list()]
>>> [(bool(b[0]), b[3] - b[1], b[4] - b[2]) for b in bounds]
[(False, 1920, 1080)]

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

>>> bounds = [pdb.gimp_selection_bounds(img) for img in gimp.image_list()]
>>> [(bool(b[0]), b[3] - b[1], b[4] - b[2]) for b in bounds]
[(True, 186, 77)]

Здесь мы видим, что есть выделение, и вычисляются ширина и высота текущего выделения.

Все это также можно запустить из консоли Script-Fu, но код будет выглядеть немного иначе. Для более частого использования я бы рекомендовал создать плагин для всплывающего информационного окна и назначить сочетание клавиш, но это решение я оставлю читателю.

Связанный контент