Python in Gimp 2.10.6 (Macbook)

  • 10 Reacties
  • 68 Gelezen
Gepost op: 2 oktober 2019, 11:45:13
Sorry, was in Nederlands begonnen en dacht op een, he je moet Duits
schrijven ... grrr
maar ik hoop dat jullie toch alles wat ik beneden schreef ook kunnen lezen, toch?!


Hallo in Python_Fu interessierte Leser
Hab gerade ein ziemlich störendes Probleem ontdekt (und ein paar Stunden dran gearbeitet):

Aber ich bin auf dem Wege das genau zu verstehen (und kann später daher gut helfen):
Was (vermutlich) ganz und gar geht ist (hier bij mir) so mit Python in Gimp zu arbeiten,
1. die Python Console ueber  Filter activieren
2. import gimpfu as gf
Dann hat man im Prinzip alle Information:
3. alles = dir(gf)
4. alles

Vorschlag: Probier dies 4 dinge doch mal aus ==> eine lange liste von was man alles zo machen kann!

5. dir(gf.gimp)  #dies is eiche auch SEHR interessant gefolgt von
6. dir(gf.gimp.Image)

Was leider ein Problem gab war dies
Man kann in der Console BROWSE anklicken und dort suchen nach was man
gerade nötig hat!!

Was ich feststellte ist, das die im Prinzip phantastische info und Arbeitsweise
von Browse manchmal nicht übereinstimmt was gf... nötig hat!

Gut, das werde ich (mit Euren Fragen) wohl hinbekommen ;-)!

Je mehr mitmachen (wer Python kennt!! Wer Python lernen will kann mit fragen wie man das am besten macht), desto schneller kann man von den Vorteilen ein Super-Hilfsmittel zur Verfügung hat geniessen.

Der Weg zum "Schlaraffenland" ist nun deutlich ...
Das Sudoku probleem im anderen Post wird dann 'bald' gelöst sein, noch etwas Geduld

Gruss
    Peter


« Laatst bewerkt op: 2 oktober 2019, 11:48:56 door PeterGragert »
Gepost op: 2 oktober 2019, 17:38:02
Zal het eens uitproberen.
Happy Gimping,

E. Sullock Enzlin
Gepost op: 3 oktober 2019, 07:24:36
Zo , open de Python Console en plak dit er in:
import gimpfu as gf

Lstr = {}
Llayer = {}

def maakImage():
    global image, display
    image = pdb.gimp_image_new(400, 40, 0)                           
    display = pdb.gimp_display_new(image)     

def maakLayerNR(nr):
    result = 'Layer' + str(nr)
    result += ' = pdb.gimp_layer_new(image, 40, 40, 0 , \'Layer' +  str(nr) + '\', 100, 0)'
    ###print (str(layer)  + ' aangemaakt renamed naar Layer' + str(nr))
    #return (eval('Layer' + str(nr)))
    #layer.name = 'Layer'+ str(nr)
    return result

def zetinLayer(layer):
    gf.gimp.Image.add_layer(image, layer)
    print (str(layer) + ' is nu ingezet')

maakImage()

L1s = maakLayerNR(1)
exec(L1s)
zetinLayer(Layer1)

for i in range(1,10):
 Lstr = maakLayerNR(i)

#Nu via exec de layers aanmaken
for i in range(1,10):
  exec(Lstr)

# nu een layer Dictionary aanmaken
for i in range(1,10):
 Llayer = eval('Layer' + str(i))


csf = pdb.gimp_context_set_foreground #lui zijn een afkorting

#oh de layers nog inzetten!
for i in range(1,10):
 zetinLayer(Llayer)


for i in range(1,10):
 csf((i*20,0,255 - i * 20))
 tmp = Llayer  #eerst 'eenvodig maken' ??? wel nodig???
 tmp.fill(0)

 
Volgende stappen:
De layers stapsgewijs maken (niet alle tegelijk) en een tekst-layer met 1..9 er op plakken en dan maar met een i  * 40 (eenheden) naar rechts schuiven ..
Gepost op: 3 oktober 2019, 07:46:04
ZO
het verschuiven gaat zo:

   
for i in range(1,10):
    tmp = Llayer
    pdb.gimp_layer_resize(tmp, tmp.width, tmp.height, -40 * i, 0)


Overigens vergeten het intenderen van .. in de vorige post
duidelijker te maken
als een regel met een  :  (dubbel punt) eindigt moeten
erbijhorende volgende Python opdrachten een aantal
spaties naar rechts 'geindenteerd' zijn

Hier boven heb ik er 3 (of 4) spaties (zichtbarer) gedaan

Zo nu de 'text-layers' maken en verenigen met de net aangemaakte layer ... komt zo ..
Gepost op: 4 oktober 2019, 18:25:54
Gebruik Pycharm (zowel voor Linux als Windows) dan gaat dat allemaal automatisch.
Happy Gimping,

E. Sullock Enzlin
Gepost op: 8 oktober 2019, 12:37:37
Hallo,
Wie durft een Python Fu plugin te installeren ?
De code kun je ophalen van mijn website:
https://pkhg.nl/guideslabextra.py

1. Nu een GIMP 2.10 starten en kijken waar bij jouw
de plug-ins lokaal  moeten staan Klik boven links op GIMP-2.10
aldaar op Prefernences (bij mij tweede keuze)
dan (bij mij) helemaal beneden op Folders , dus openen
dan klik op Plug-ins en aflezen maar!
bij mij: /Users/peterkhgragert/Library/Application Support/GIMP/2.10/plug-ins
In die directory (map) een copie van guidelabsextra.py stoppen
Gimp nieuw starten
maak maar een new plaatje min of meer groot
Dan zou in de bovenste lijn van GIMP
GtkTEST te zien zijn
Zo ja. dan lijkt de installatie gelukt te zijn klikken en : TestExtra maak activeren, na een paar seconden opent een nieuw venster
(vraag maar als je problemen met de Engelse namen hebt)

En indien gelukt of mislukt graag hier vermelden ;-)
Groeten
      Peter

Probeer maar iets vergelijkbaars als het bijgevoegde plaatje
te maken ;-)

*

Offline FransR

  • 1736
Gepost op: 10 oktober 2019, 14:10:13
Hoi Peter,
Om te beginnen hartelijk welkom weer op het forum.
Ik ben al een tijdje bezig met script-fu naar aanleiding van een vraag op het forum over een batch bewerking.
Maar python-fu lukt mij helemaal niet, vooral omdat ik geen idee heb hoe dat te starten.
Je guideslabextra.py staat in de juiste directory, maar ik zie in Gimp niets daarvan terug. Ook geen andere plug-ins helaas.
Wat je wilt, dat kun je!
*

Offline FransR

  • 1736
Gepost op: 10 oktober 2019, 14:11:27
Oh ja, ik gebruik Linux Mint.
Wat je wilt, dat kun je!
*

Offline FransR

  • 1736
Gepost op: 12 oktober 2019, 09:43:10
Ntuurlijk had ik eerst even python-fu moeten installeren:
sudo apt-get install gimp-python
maar ik zie nog niets van jouw plug-in.....
En ik zie nu ook dat code niet werkt en dat het bericht daardoor niet wordt verstuurd ......
Wat je wilt, dat kun je!
*

Offline FransR

  • 1736
Gepost op: 12 oktober 2019, 14:08:57
Ik ben nu een hele tijd verder, maar ik zie geen enkele plug-in.
In de Voorkeuren>mappen staan 2 mogelijkheden vermeld en in die beide mappen vind ik ook hele lijsten met plug-ins maar in Gimp komt er geen enkele boven drijven.
Wat je wilt, dat kun je!
Gepost op: 12 oktober 2019, 21:49:44
Boven aan de python code, als eerste regel, moet nog het volgende staan:

#!/usr/bin/env python
#
Happy Gimping,

E. Sullock Enzlin