2016-01-24 19 views
6

Yeni bir python-fu programlaması için yeniyim 4 günlük bir zamanımı, çizilen yolun koordinatlarını almak ve gtk mesaj kutusundaki çıktıyı göstermek için en uygun işlevlerin hangisi olduğunu anlamak için İKİ YOKLA harcadım aşağıdaki görüntü.Gimp: Yol aracı noktalarının koordinatlarını nasıl alabilirim?

enter image description here

Ben pencereleri makinede geliştirmek lütfen dikkate alınız

böyle kodumu denedim:

import gtk, gimpui 
from gimpfu import * 

def debugMessage(Message): 
    dialog = gtk.MessageDialog(None, 0, gtk.MESSAGE_INFO, gtk.BUTTONS_OK, Message) 
    dialog.run() 
    dialog.hide() 

def python_fu_mahdicoordinates(image, layer): 
    vectors = pdb.gimp_image_get_active_vectors(image) 
    nstrokes, strokes = pdb.gimp_vectors_get_strokes(vectors) 
    stroke_type, n_points, cpoints, closed = pdb.gimp_vectors_stroke_get_points(vectors, strokes[0]) 
    x0 = cpoints[0] 
    y0 = cpoints[1] 
    x1 = cpoints[6] 
    y1 = cpoints[7] 
    x2 = cpoints[12] 
    y2 = cpoints[13] 
    x3 = cpoints[18] 
    y3 = cpoints[19] 
    debugMessage('(' + str(x0) + ', ' + str(y0) + ', '+str(x1) + ', '+str(y1) + ', '+str(x2) + ', '+str(y2) + ', '+str(x3) + ', '+str(y3) + ')') 

    return 

register(
    "python_fu_mahdicoordinates", 
    "Mahdi Cooridnates", 
    "Get Cooridnates of any path", 
    "Mahdi Alkhatib", "Mahdi Alkhatib", "2016", 
    "Mahdi Cooridnates...", 
    "*", 
    [], 
    [], 
    python_fu_mahdicoordinates, 
    menu= "<Image>/Tools/Misc") 

main() 

Bazen eklentisi kendisi menüde görünmüyor, bazen hiçbir çıkış hiç

cevap

2

Bu sorunu Ubuntu'da test ediyorum (aynı olmadığını biliyorum). Ancak, kodunuz hiçbir şey çıkarmadı, bu yüzden sorunun en azından bu kısmını yeniden üretebildim.

İşleviniz bu ilan başlığı var

:

def python_fu_mahdicoordinates(image, layer): 

Yani, register böyle çağrılmalıdır: Değiştirilen listesinde

register(
    "python_fu_mahdicoordinates", 
    "Mahdi Cooridnates", 
    "Get Cooridnates of any path", 
    "Mahdi Alkhatib", "Mahdi Alkhatib", "2016", 
    "Mahdi Cooridnates...", 
    "*", 
    [ 
     (PF_IMAGE, "image", "takes current image", None), 
     (PF_LAYER, "layer", "takes current layer", None), 
    ], 
    [], 
    python_fu_mahdicoordinates, 
    menu= "<Image>/YourNewMenu") 

Lütfen fonksiyon ilan edilecek olan işlemek gerekiyor parametreleri . Senin durumunda, görüntü ve katman. Bu benim için çalışıyor.

Neden eklentinin neden menünüzde görünmediğini bilmiyorum, ancak istediğiniz herhangi bir adla menu= "<Image>/YourNewMenu" bildirmeye çalışıyorum. Bu menü çubuğunda yeni bir menü oluşturmalı ve muhtemelen probleminizi tamamen çözecektir. Denemeye değer.

Umarım bu yardımcı olur.

İlgili konular