| Welcome, Guest |
You have to register before you can post on our site.
|
| Forum Statistics |
» Members: 5,012
» Latest member: makabaka
» Forum threads: 7,745
» Forum posts: 42,089
Full Statistics
|
| Latest Threads |
Why am'I fighting with GI...
Forum: Linux and other Unixen
Last Post: NetWeeZurd
6 hours ago
» Replies: 2
» Views: 143
|
Can tooltip display time ...
Forum: Gimp 2.99 & Gimp 3.0
Last Post: NetWeeZurd
6 hours ago
» Replies: 4
» Views: 1,262
|
Problem posting an update...
Forum: Gimp-Forum.net
Last Post: Scallact
12-21-2025, 10:19 PM
» Replies: 19
» Views: 959
|
Paint bucket acts "weird"
Forum: General questions
Last Post: PieterJW
12-21-2025, 06:59 PM
» Replies: 7
» Views: 386
|
Install gimp user manual ...
Forum: Linux and other Unixen
Last Post: rich2005
12-21-2025, 09:03 AM
» Replies: 1
» Views: 185
|
Very, very nice startup t...
Forum: General questions
Last Post: mrkid
12-18-2025, 04:37 PM
» Replies: 0
» Views: 181
|
Why does HTML/css scale i...
Forum: General questions
Last Post: Tas_mania
12-17-2025, 07:20 PM
» Replies: 1
» Views: 253
|
Path autocurves plugin (G...
Forum: Extending the GIMP
Last Post: InquisitiveAsHell
12-17-2025, 07:40 AM
» Replies: 6
» Views: 741
|
Transparent Background Ad...
Forum: General questions
Last Post: Kramskry
12-16-2025, 08:52 PM
» Replies: 2
» Views: 344
|
Inside drop shadow maybe?...
Forum: General questions
Last Post: denzjos
12-16-2025, 04:45 PM
» Replies: 2
» Views: 268
|
|
|
| Issues trying to Compose an image with masked channels |
|
Posted by: pronay - 05-10-2023, 10:34 PM - Forum: Scripting questions
- Replies (5)
|
 |
Hello,
This is my first time trying to write a Python script in GIMP so I am still learning my way around this stuff.
I am trying to implement a script by which I can perform the following steps:
1. Decompose an Image into RGBA channels (Colors->Components->Decompose->Color Model: RGBA)
2. Recompose an Image using R,G channels with B and A using Mask Value of 255 (Colors->Components->Compose->Color Model: RGBA, B and A use 255 mask value)
To do this in Python, I am attempting the following steps:
Code:
decomposed = pdb.plug_in_decompose(img, drawable, "RGBA", 0)
gimp.message("Performed Decompose")
# Grab the name of the original image
fileNameWithExt = pdb.gimp_item_get_name(draw)
fileNameNoExt = fileNameWithExt.split('.')
# Create the layers
gimp.message("Creating new Layers")
gimp.message("Setting up Red Layer")
layerR = pdb.gimp_layer_new_from_drawable(pdb.gimp_image_get_active_layer(decomposed[0]), decomposed[0])
layerName = fileNameNoExt[0] + "_RGBA_Red"
pdb.gimp_item_set_name(layerR, layerName)
pdb.gimp_image_insert_layer(decomposed[0], layerR, None, 0)
gimp.message("Setting up Green Layer")
layerG = pdb.gimp_layer_new_from_drawable(pdb.gimp_image_get_active_layer(decomposed[1]), decomposed[1])
layerName = fileNameNoExt[0] + "_RGBA_Green"
pdb.gimp_item_set_name(layerG, layerName)
pdb.gimp_image_insert_layer(decomposed[1], layerG, None, 1)
gimp.message("Setting up Blue Layer")
layerB = pdb.gimp_layer_new_from_drawable(pdb.gimp_image_get_active_layer(decomposed[2]), decomposed[2])
layerName = fileNameNoExt[0] + "_RGBA_Blue"
pdb.gimp_item_set_name(layerB, layerName)
pdb.gimp_image_insert_layer(decomposed[2], layerB, None, 2)
gimp.message("Setting up Alpha Layer")
layerA = pdb.gimp_layer_new_from_drawable(pdb.gimp_image_get_active_layer(decomposed[3]), decomposed[3])
layerName = fileNameNoExt[0] + "_RGBA_Alpha"
pdb.gimp_item_set_name(layerA, layerName)
pdb.gimp_image_insert_layer(decomposed[3], layerA, None, 3)
gimp.message("Creating Layer Mask")
channelB = pdb.gimp_layer_create_mask(layerB, 1)
channelA = pdb.gimp_layer_create_mask(layerA, 1)
gimp.message("Inserting Channels to Decomposed Images")
pdb.gimp_image_insert_channel(decomposed[2], channelB, None, 0)
pdb.gimp_image_insert_channel(decomposed[3], channelA, None, 0)
# Now compose the new image into the target export image
gimp.message("Starting Compose Step for Output")
OutImage = pdb.plug_in_compose(decomposed[0], draw, decomposed[1], decomposed[2], decomposed[3], "RGBA")
gimp.message("Done with Composing Output")
However, when I run this script, I see that my output image is the exact same as the input. This means that the 255 masks are not being applied to the output composed image.
Is the approach I am using correct here? How should I be applying the 255 Mask Value to the B and A channels similar to the settings available for the Compose option in the UI?
Any advice here would be much appreciated.
|
|
|
|