script to merge files into layers and set a layer mask - Printable Version +- Gimp-Forum.net (https://www.gimp-forum.net) +-- Forum: GIMP (https://www.gimp-forum.net/Forum-GIMP) +--- Forum: Extending the GIMP (https://www.gimp-forum.net/Forum-Extending-the-GIMP) +---- Forum: Scripting questions (https://www.gimp-forum.net/Forum-Scripting-questions) +---- Thread: script to merge files into layers and set a layer mask (/Thread-script-to-merge-files-into-layers-and-set-a-layer-mask) Pages:
1
2
|
script to merge files into layers and set a layer mask - DanielDD - 09-09-2020 Hallo, I need a script for batch mode: There are files t0.tif and t1.tif (single page tifs) in the current directory. The script should open these files and put them into a single file as layers (t0.tif as bottom and t1.tif as top layer). Then, the script should set "grain merge" to the top layer and add a white layer mask. I am somewhat familiar with (scheme)lisp, but I have no knowledge on script-fu. Finally, the script should save the file in standard gimp format. Daniel RE: script to merge files into layers and set a layer mask - DanielDD - 09-13-2020 Hallo, well, I should provide some motivation. The first person who posts a working script (as below) gets exclusively a high resolution tif (3526 x 3246) of the attached photo for private usage. (I am the copyright holder and I have the permission to publish the photo.) The script has to be written in python-fu, and I want to call the script from cygwin under windows 20 (64bit). I have files t00.tif, ..., t11.tif (single page tifs) in the current directory. The script should generate a single file with t00.tif, ..., t11.tif as layers. t00.tif should be the top layer, ..., t11 the bottom layer. The above 11 layers should get a white layer mask, and the mix method should be "grain merge". Best regards, Daniel RE: script to merge files into layers and set a layer mask - Kevin - 09-14-2020 I wrote this based on your first incomplete specification to give me some practice with Python-Fu, and as you've now changed to a new incomplete specification, you can regard this as a starter for you to continue with. [attachment=4903] RE: script to merge files into layers and set a layer mask - DanielDD - 09-14-2020 (09-14-2020, 07:28 AM)Kevin Wrote: I wrote this based on your first incomplete specification to give me some practice with Python-Fu, and as you've now changed to a new incomplete specification, you can regard this as a starter for you to continue with. Thank you, I will have a look at the script late in the evening. Daniel RE: script to merge files into layers and set a layer mask - DanielDD - 09-16-2020 Hallo, based on Kevins script I wrote the code, below. When I copy and paste the code into Gimp's python console, it works fine. However, when I want to run the code outside Gimp (e.g. by double clicking GIMP 2/bin/python.exe), it cannot import from gimpfu. Code: ImportError: No module named gimpfu My script code: Code: import os,glob RE: script to merge files into layers and set a layer mask - Kevin - 09-17-2020 You can't run GIMP scripts/plug-ins outside GIMP. For the code I wrote, I made a windows batch file (.bat) with this inside: Code: "C:\Program Files\GIMP 2.10\bin\gimp-console-2.10.exe" -df -b "(python-fu-danieldd RUN-NONINTERACTIVE \"P1320328_sml.JPG\" \"P1320578_sml.JPG\" \"fred.xcf\")" -b "(gimp-quit 0)" And I've deleted your message with the link to your image because I'm not interested in having a copy of it, but thanks anyway. script is not executed on gimp startup - DanielDD - 09-22-2020 Hallo, I registered the script as follows: Code: register( I start gimp from cygwin by Code: /cygdrive/c/Program\ Files/GIMP\ 2/bin/gimp-2.10.exe --batch-interpreter=python-fu-eval -b 'WaveletImporter' The script is not executed, but I see the error message: Code: File "C:\Program Files\GIMP 2\lib\gimp\2.0\python/gimpfu.py", line 827, in _run However, the script appears in the "Filters"-menu, and when I click on it, it works fine. When I call gimp from windows, it shows the same behavior, but I do not see the error message. Daniel RE: script to merge files into layers and set a layer mask - Ofnuts - 09-23-2020 Because your script as seen from Gimp is really hidden in pdb.python-fu-WaveletImporter. Under the hood this procedure starts your script as a new process that loads the .py file. However, see: https://stackoverflow.com/questions/44430081/how-to-run-python-scripts-using-gimpfu-from-command-line/44435560#44435560 RE: script to merge files into layers and set a layer mask - DanielDD - 09-24-2020 Hallo, I made numerous attempts, e.g. i I tried Code: /cygdrive/c/Program\ Files/GIMP\ 2/bin/gimp-2.10.exe --verbose --batch-interpreter=python-fu-eval -b 'import sys; import DK_plugins; DK_plugins.wavelet_importer() ' It seems that DK_plugins.py is indeed imported, but the script is not executed. Daniel RE: script to merge files into layers and set a layer mask - Ofnuts - 09-25-2020 On the SO example, the bit sys.path=['.']+sys.path; that you didn't copy adds the current directory (which is hopefully the one with the python script) to the Python path, so that the subsequent import finds it. |