Vollständige Version anzeigen : python INT8ARRAY zum Aufruf von plug-in- curve- bend
Hallo an die Programmierer und Python-Kenner,
der curve-bend Filter ist recht nett, allerdings fehlt mir die Möglichkeit,
den Verlauf der Kurve direkt im Bild festzulegen.
Als eine Variante erwartet das plugin 256 y-Werte in einem INT8ARRAY:
upper-val-y INT8ARRAY array of 256 y freehand koord {0 <= y <= 255}
Wie muss ich in Python diesen array definieren, um ihn an das plugin übergeben zu können?
Mein Plan: User erstellt Auswahl (Freihand, aus Kanal, aus Pfad, wie auch immer).
Mein Plugin nimmt diese Auswahl und erstellt aus den oberen Auswahlpunkten 256 y-Werte (skaliert) und übergibt dieses shape an curve-bend.
Gruß
Micha
TheGrudge
16.04.2008, 20:31
Habe diesen Filter jetzt nicht getestet, aber ein Array in Python kann über ein Tuple oder eine Liste erstellt werden...
x = () Tuple
y = [] Liste
Wenn du also einen Array mit 4 Zahlen machen willst, dann wäre das
x = (1,2,3,4)
oder
y = [1,2,3,4]
Aber diese Antwort war bestimmt nicht das was du hören wolltest, oder?
Mit Übergabe eines Tupels (hardcoded) funktioniert's.
Probier da mal weiter...
Gruß
Micha
TheGrudge
16.04.2008, 20:39
Wenn du diesen Array dynamisch ermitteln willst, wäre eine Liste wohl besser, ein Tuple ist nicht mehr veränder- und erweiterbar...
Solltest du also versuchen, mittels einer for-Schleife oder dergleichen Werte zu sammeln, solltest du sie wohl besser in einer Liste speichern, ein Tuple kennt kein Assignment, append() als Methode funktioniert dort nicht.
Falls der Filter aus irgendeinem Grund nur Tuple akzeptiert, kannst du deine Liste aber auch in ein Tuple verwandeln:
y = tuple(x)
wobei x die erstellte Liste ist.
Falls der Filter aus irgendeinem Grund nur Tuple akzeptiert, kannst du deine Liste aber auch in ein Tuple verwandeln:
y = tuple(x)
wobei x die erstellte Liste ist.
Das wusste ich nicht, danke. Allerdings hatte ich bei der Listenbildung einen Fehler gemacht.
Das plugin akzeptiert auch eine Liste als Parameter (INT8ARRAY) direkt.
Bisher halt mit manuell eingegebenen Werten, aber das sollte zum Füllen per for-Schleife dann keinen Unterschied mehr machen.
Gruß
Micha
Ein kurzes Zwischenergebnis, da ich nicht sehr viel Zeit dafür aufwende,
aber Einiges über Python und GIMP lerne.
Nochmal danke an die genervten Fragenbeantworter (meiner threads hier...)
Zufrieden bin ich noch nicht, aber man kann sehen, was es bringen soll.
Der Anwender wählt einen Bereich, der an ein shape angepasst werden soll.
Dieses shape wählt er aus einem Kanal, den er vorher erstellt hat (Aus Auswahl, Pfad, whatever).
Im Bild ist links oben das shape, darunter der anzupassende Bereich.
Rechts zwei der möglichen Ergebnisse (bisher)
8763
Gruß
Micha
vBulletin® v3.8.2, Copyright ©2000-2010, Jelsoft Enterprises Ltd.