Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 5,646
» Latest member: iMott
» Forum threads: 7,187
» Forum posts: 39,257

Full Statistics

Latest Threads
Just Erase the Background...
Forum: General questions
Last Post: rich2005
1 hour ago
» Replies: 4
» Views: 33
Eraser Stopped Working
Forum: General questions
Last Post: Ofnuts
1 hour ago
» Replies: 11
» Views: 350
Can not make bookmarks fo...
Forum: Installation and usage
Last Post: Ofnuts
Yesterday, 10:14 PM
» Replies: 3
» Views: 136
Save & Export?
Forum: General questions
Last Post: Ofnuts
Yesterday, 10:10 PM
» Replies: 1
» Views: 88
Bookmarks are not saved
Forum: Linux and other Unixen
Last Post: Ofnuts
Yesterday, 09:55 PM
» Replies: 3
» Views: 103
scriptfu could says what ...
Forum: Scripting questions
Last Post: rich2005
Yesterday, 12:01 PM
» Replies: 2
» Views: 139
adding UnitComboBox to a ...
Forum: Scripting questions
Last Post: Ofnuts
Yesterday, 07:05 AM
» Replies: 1
» Views: 103
Gimp make jpg to Webp 100...
Forum: General questions
Last Post: estatistics
02-24-2025, 09:30 PM
» Replies: 8
» Views: 292
select outline
Forum: General questions
Last Post: sallyanne
02-24-2025, 02:38 AM
» Replies: 2
» Views: 127
I can't edit a path
Forum: General questions
Last Post: Ofnuts
02-23-2025, 08:38 AM
» Replies: 2
» Views: 145

 
Python Python Plug-in that Changes SubLayers Visibility and Export Images as PNG Files
Posted by: TiredGuy - 03-01-2024, 10:24 PM - Forum: Scripting questions - Replies (2)

Hello everybody!
I’m not very good not in GIMP, nor in Python, nor English, so please excuse me for my mistakes)

I have a .xcf file with a lot of layers and sublayers, for example:

(visible)        Layer_1
(visible)            Sublayer_1.1
(invisible)          Sublayer_1.2
(visible)        Layer_2
(invisible)        Sublayer_2.1
(invisible)        Sublayer_2.2
(invisible)        Sublayer_2.3
(visible)        Layer_3

I need to change the visibility of each sublayer in a selected layer in turn and export the entire image with all visible layers.

For example:

(visible)        Layer_1
(visible)            Sublayer_1.1
(invisible)          Sublayer_1.2
(visible)        Layer_2
(visible)         Sublayer_2.1
(invisible)        Sublayer_2.2
(invisible)        Sublayer_2.3
(visible)        Layer_3

Export image_2.1.png

then

(visible)        Layer_1
(visible)            Sublayer_1.1
(invisible)          Sublayer_1.2
(visible)        Layer_2
(invisible)      Sublayer_2.1
(visible)         Sublayer_2.2
(invisible)        Sublayer_2.3
(visible)        Layer_3

Export image_2.2.png

then 

(visible)        Layer_1
(visible)            Sublayer_1.1
(invisible)          Sublayer_1.2
(visible)        Layer_2
(invisible)        Sublayer_2.1
(invisible)      Sublayer_2.2
(visible)         Sublayer_2.3
(visible)        Layer_3

Export image_2.3.png


The best that I did with the help of ChatGPT is this plug-in in Python:

Code:
#!/usr/bin/env python

from gimpfu import *

def export_sublayers(image, drawable, layer_name, path, prefix):
   # Find the target layer
   target_layer = None
   for layer in image.layers:
       if layer.name == layer_name:
           target_layer = layer
           break

   # If the target layer is found
   if target_layer:
       # Iterate through sublayers
       for sublayer in target_layer.children:
           # Make the current sublayer visible and others invisible
           for child in target_layer.children:
               pdb.gimp_item_set_visible(child, child == sublayer)

           # Export the image
           path = path + "\\" if not path.endswith("\\") else path
           filename = path + prefix + "_" + sublayer.name + ".png"
           pdb.file_png_save_defaults(image, image.active_layer, filename, filename)

       # Make all sublayers visible again
       for sublayer in target_layer.children:
           pdb.gimp_item_set_visible(sublayer, True)

register(
   "python_fu_combine_layers_and_export",
   "Combine layers and export",
   "Combine layers and export",
   "Your Name",
   "Your Name",
   "2024",
   "<Image>/File/Combine layers and export",
   "*",
   [
       (PF_STRING, "layer_name", "Layer name", ""),
       (PF_DIRNAME, "path", "Export path", "/path/to/export/"),
       (PF_STRING, "prefix", "Prefix", "")
   ],
   [],
   export_sublayers)

main()

But this plug-in exports only sublayers in a selected layer and I can't make it export the entire image with all visible layers.

Is anybody able to help me with it, please?

Or maybe are there other ways to do it?

Many thanks for any help!

Print this item

  ModuleNotFoundError
Posted by: gimpygirl - 03-01-2024, 06:28 PM - Forum: Extending the GIMP - Replies (3)

Hi

I have installed both GIMP 2.10.36 and GIMP 2.99.18 (to test plugins), both in another folder of course (Windows 10).

Running plugins in GIMP 2.10.36  works fine, but in GIMP 2.99.18 I have this error when running the same plugin.
I know you must put your plugin in a subfolder for GIMP 2.99.18  and I have done that.

If I use this line in a plugin


Code:
from gimpfu import *

I get following error in the terminal

Code:
line 3, in <module>
   from gimpfu import *
ModuleNotFoundError: No module named 'gimpfu'

Print this item

  ofnuts scripts and plugins GIMP 2.99.18
Posted by: gimpygirl - 03-01-2024, 06:26 PM - Forum: Extending the GIMP - Replies (3)

are all the ofnuts scripts and plugins working in GIMP 2.99.18?

Print this item

  Yahoo.co.uk Spam Filter
Posted by: programmer_ceds - 03-01-2024, 05:05 PM - Forum: Watercooler - Replies (13)

Does anyone else have problems with Yahoo.co.uk putting emails into spam? - particularly those from this forum that now all end up in spam. It doesn't seem possible to turn off spam filtering (at the moment I get very few actual spam emails - perhaps that's tempting fate!). I have the forum email address in the list of contacts - which is what yahoo suggest - but it makes no difference.

This means that using Thunderbird on the PC or K9 on my mobile I have no notification of replies on this site.

Print this item

  Searching for instruction
Posted by: Danbor - 02-29-2024, 11:26 PM - Forum: General questions - Replies (5)

Hello all. Looking for some specific schooling. I don't know if I have poor search skills, or if what I seek just doesn't exist.
   Being totally new to photo editing and new to Gimp, I am looking for some training in a specific area. So far without much luck. I have taken two Udemy courses already. The first, "Gimp 2.10 Masterclass: From beginner to pro photo editing", was good to get me familiar with concepts and the UI for Gimp. The second, "Gimp photo editing crash course" was pretty much useless for me.
   The first course focused on media design and the second focused on editing photos taken with a digital camera. Both useful and popular pursuits. However, of very little help for me. I am not creative and have no interest at all in pursuing any aspect of media or graphic design. I am not a picture taker so I have no digital photos to edit.
   What I do have are several hundred photos, from the early 1930's to the late 1990's that I want to scan and restore in digital form to share with family and comrades.
   So, does anyone know where a person can find a course of training that concentrates on using Gimp to repair and restore both color and black and white photographs?

Print this item

  Rectangle line thickness
Posted by: Peter Linu - 02-29-2024, 11:23 PM - Forum: General questions - Replies (1)

Hiyall,
Absolute Beginner here.

I want to create a rectangle around a piece of text and make the line a bit thicker.
I found the rectangle tool but can't find how to make it thicker.

Grateful for any advice.

Print this item

  Text Style
Posted by: petyusa - 02-29-2024, 10:43 PM - Forum: General questions - Replies (2)

Hi,

I've just started using GIMP a few weeks ago. I add a lot of text to images, but sometimes I have to change font size, style, etc. Is there a way, to set a preset for a givent text layer, and later just edit it, and it will update all text layers with the preset?

Print this item

  small plugin code help
Posted by: gimpygirl - 02-29-2024, 07:21 PM - Forum: Scripting questions - Replies (17)

Hi

I have this plugin that just runs some other scripts and plugins.

I want to add the first 2 comments lines. Can somebody tell me if this is possible and fill in the required code?
The plugin works but the 2 first comment lines I don't know how to code it.

First I want to add an alpha layer to my image.

Then I want to apply "select by color" tool on a specified pixel (X and Y value of the pixel) and delete the selection from  the whole image automatically? Is this possible using code?


Code:
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
from gimpfu import*


def test(timg, tdrawable):

#how to add alpha layer to my image?

#how to apply "select by color" tool on a specified pixel and delete the selection from  the whole image?

#determine the offset values manually
   pdb.gimp_drawable_offset(tdrawable, 0, 1, 18, -32)
   
   
#the image size is constant and 150x150 crops the border    
   pdb.gimp_image_crop(timg, 2400, 1200, 150, 150)
   
   
#guides using script-fu    
   pdb.script_fu_grid_guides(timg, 0, 150, 150, 1, 0)
   
   
#chop into 150x150 tiles    
   pdb.python_fu_ofn_guillotine_layer(timg, tdrawable)
   
   
#export all layers
   pdb.python_fu_ofn_export_layers(timg, os.path.dirname(timg.filename), "{numUp0}.png", "-", 0)
    
    
register(
       "test",
       "test",
       "test",
       "*",
       "*",
       "2024",
       "<Image>/Tools/test...",
       "*",
       [],
       [],
       test
       )

main()

Print this item

  plugin help: not appearing in gimp
Posted by: gimpygirl - 02-29-2024, 07:15 PM - Forum: Scripting questions - Replies (2)

Hi

What's wrong with this code and why does it not appear in GIMP?
What needs to be changed to make it work?


Code:
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import sys
from gimpfu import*



def test(timg, tdrawable):

   print_to_stderr("Hello World")

def print_to_stderr(*a):

   print(*a, file=sys.stderr)
   
   
   
register(
       "test",
       "test",
       "test",
       "test",
       "test",
       "2024",
       "<Image>/Tools/test...",
       "*",
       [],
       [],
       test
       )

main()

Print this item

  python_fu_ofn_export_layers question
Posted by: gimpygirl - 02-29-2024, 01:18 AM - Forum: Extending the GIMP - Replies (3)

Hi

I call python_fu_ofn_export_layers in my plugin (after some other plugins) and I would like this window not to appear. It can use the default settings.
Is this possible?

I ask this because I run my plugin on many files and they use the standard settings anyway. I don't want to click Export each time again for each file.



Attached Files Image(s)
   
Print this item