Получить значения смещения слоя в GIMP 2

3

Я использую Gimp 2.8.14 на Win7. У меня есть это большое многослойное изображение, около 100 слоев, и мне нужен способ узнать их смещение к холсту. Если кто-нибудь знает способ, я был бы рад узнать об этом. Я скорее не делаю это вручную с помощью мыши :)

Андреас Торезетер
источник
Можете ли вы дать больше информации?
Яс
Слои не такие большие, как холст, поэтому они имеют смещение по осям X и Y, и мне нужно знать их. Я имею в виду, что могу выбрать слой и затем попытаться увидеть его координаты, перемещая курсор мыши, но это будет очень утомительно. Я ищу что-то вроде: слой правой кнопки мыши -> выберите Показать положение / смещение и т. Д., Но я не могу найти это нигде.
Андреас Торезетер
Когда я погуглил мою проблему, я увидел упомянутое «layer.offset», но это было в скрипте Python. Но у меня не установлен Python, и я никогда не использовал его с Gimp.
Андреас Торезетер
Layer → Layer Boundary Size.X Offset; Y OffsetЭти координаты относятся к слою, а не к изображению. Они используются для перемещения кадра, который определяет, какая часть содержимого слоя будет выбрана для
измененного

Ответы:

3

Это предполагает, что у вас есть одно изображение, загруженное в Gimp.

  • Открыть консоль Python-fu ( Filters>Python-fu>Console)
  • Введите две строки:

    image=gimp.image_list()[0]
    for l in image.layers:print l.name,l.offsets
    
  • Ударьте [введите] дважды
  • Скопируйте / вставьте результат

Если вы хотите слои в обратном порядке, используйте

for l in reversed(image.layers):print l.name,l.offsets

Если у вас есть группы:

def dumpGroup(g):
    for l in g.layers:
        if isinstance(l,gimp.GroupLayer):
            dumpGroup(l)
        else:
            print l.name,l.offsets

image=gimp.image_list()[0]
dumpGroup(image)
xenoid
источник
Ааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааа́а !Отлично работать со встроенной консолью Python. Единственная проблема состоит в том, что в коде вашего примера не перечислены дочерние слои, а только корневой или верхний слои. (изображение построено с 5 корневыми узлами, каждый из которых имеет множество дочерних слоев)
Andreas Toresäter
Также выполнимо, но не с одним вкладышем. Вам нужно определить функцию и вызывать ее рекурсивно ... Проверю во время обеденного перерыва.
ксеноид
Добавлено в ответ ...
xenoid