2015-10-02 5 views
1

Желательно работать с файлом изображения, который пользователь может открыть. Хотя мне кажется, что мне запрещено включать плагин только в том случае, если изображение уже открыто. Все плагины Python, которые поставляются вместе с Gimp 2.8, отключены до тех пор, пока изображение не будет открыто. Поиск по многим примерам, и кажется, что каждый найденный пример требует, чтобы изображение уже было открыто до того, как плагин сможет выполнить.Плагин Gimp Python, не требующий открытого изображения? (Plug to to Open/Export/Close image через FileChooserDialog)

Вот основной helloworld.py

#!/usr/bin/env python 

import gtk 
from gimpfu import * 

def plugin_main() : 

    message = gtk.MessageDialog(type=gtk.MESSAGE_ERROR, buttons=gtk.BUTTONS_OK) 
    message.set_markup("Please Help") 
    message.run() 
    gimp.quit() 

register(
    "helloworld", 
    "Saying Hi", 
    "Saying Hello to the World", 
    "William Crandell <[email protected]>", 
    "William Crandell <[email protected]>", 
    "2015", 
    "Hello Gimp", 
    "*", 
    [], 
    [], 
    plugin_main, 
    menu = "<Toolbox>/Hello/" 
) 

main() 

Как это может работать без открытия любого файла изображения в Gimp? Menu Disabled Visualization

Почти родственный вопрос GIMP, python-fu: How to disable "Input image" and "Input drawable"

ответ

1

цитата из http://www.exp-media.com/content/extending-gimp-python-python-fu-plugins-part-4

Обратите внимание, что я использовал поле ввода меню Toolbox, и сливают тип изображения источника , таким образом, наш плагин появится в меню , и вы можете выбрать , даже если изображение не открывается.

Важной частью является imagetypes, которая является частью рамочного плагина Престола: http://www.gimp.org/docs/python/#plugin_framework

С "*" как «тип изображения» плагин ожидает любое изображение в качестве части первоначального ввода, то есть ток изображение (с любым принятым типом, потому что подстановочный знак *) будет поставляться как часть инициирования плагина. Изменение типа на "" эквивалентно тому, что во время инициации отсутствует входной сигнал изображения, что позволяет подключать вилку без открытого в данный момент изображения.

#!/usr/bin/env python 

import gtk 
from gimpfu import * 

def plugin_main() : 

    message = gtk.MessageDialog(type=gtk.MESSAGE_ERROR, buttons=gtk.BUTTONS_OK) 
    message.set_markup("Thank you Frederic Jaume -> \nhttp://www.exp-media.com/content/extending-gimp-python-python-fu-plugins-part-4") 
    message.run() 
    gimp.quit() 

register(
    "helloworld", 
    "Saying Hi", 
    "Saying Hello to the World", 
    "William Crandell <[email protected]>", 
    "William Crandell <[email protected]>", 
    "2015", 
    "Hello Gimp", 
    "", 
    [], 
    [], 
    plugin_main, 
    menu = "<Toolbox>/Hello/" 
) 

main() 

 Смежные вопросы

  • Нет связанных вопросов^_^