Welcome, Guest |
You have to register before you can post on our site.
|
|
|
color/brightness changes don't transform |
Posted by: Timp - 06-01-2025, 05:19 PM - Forum: OSX
- Replies (1)
|
 |
Hi,
I apologize if this has been addressed elsewhere, but I couldn't find it.
I am using Gimp 3.0.4. I have an image open and select part of it. I then change the brightness (or color--same issue with both). Next, I try to rotate the image. However,
The brightness change doesn't follow the image. Instead, only part of the image has the brightness change. It's as though the brightness change remained in place while the (now old) image rotated.
I'd appreciate any advice.
|
|
|
[RFC] Summer of code project to re-think plug-in/filter development resources |
Posted by: martymichal - 05-30-2025, 02:34 PM - Forum: Gimp 2.99 & Gimp 3.0
- Replies (16)
|
 |
Hi friends!
My name is Ondřej and I'm one of the 3 students working this year on GIMP as part of Google Summer of Code (see https://www.gimp.org/news/2025/05/18/gim...ased/#gsoc). My project is to help redesign tools in GIMP for helping creating plugins and filters for GIMP. These tools are namely the 'Procedure Browser' and 'Plug-in Browser' that you can find under the 'Help' menu tab.
I would like to learn about your experiences how you develop plug-ins and filters, what resources you use while developing and how these tools help you to get your work done.
What is it that currently works well, that could be done in a better and what is missing at the moment? I would especially appreciate getting to know about your experiences with developing for GIMP 3.
There are many ways in which I could drive this project and having more perspective coming into it is very important to me.
## Ideas
> This is a rough description of what I have written already in the upstream tracking issue (see https://gitlab.gnome.org/Teams/GIMP/Desi...issues/259). For more details, check it out!
The original idea for this project is to create a new browser for exploring the available GEGL operations and how they can be used. In general, having access to this information is important because GEGL operations are the bread and butter of GIMP 3 through the use of the new Filter API accompanying the new non-destructive editing capabilities of GIMP. With that said, there are already ways to get this information: the GEGL website (see https://gegl.org) and the 'gegl' command line (see https://developer.gimp.org/resource/writ...mmand-line). But neither of these is integrated in GIMP nor shows operations registered at runtime.
Another idea is to explore combining the existing two browsers. Instead of having multiple places, where to look for information about available procedures and actions, there could be a single point of reference with all of the information included. This will require some care as to how the information is presented and how does the updated dialog integrate with tools like the Script-Fu or Python Console.
If you have any more ideas, I would love to hear them!
## Following the work
I'm tracking this effort in issue #259 (see https://gitlab.gnome.org/Teams/GIMP/Desi...issues/259) on the GIMP-UX tracker and I'm usually present in the #gimp IRC chat room on GIMPnet. Please, do reach out to me, if you wish to discuss this project or anything GIMP-related!
|
|
|
GIMP 3.0.4 problem |
Posted by: vulpus - 05-29-2025, 10:14 PM - Forum: General questions
- Replies (17)
|
 |
When I select part of an image to edit it in some way (e. g., rotate it), then choose Export As, and then choose to Replace the image with the same name, etc., etc., after I close the image and reopen it, all the areas outside of what I selected are gone (have been replaced with black fields). In other words, it is also doing a Crop To Selection although I absolutely do not want this. What needs to be done to stop this? My GIMP 2.10.38 never did this.
|
|
|
Gimp 3 - python to edit the selection |
Posted by: violgamba - 05-29-2025, 09:36 AM - Forum: Scripting questions
- Replies (3)
|
 |
I'm trying to make a plugin to edit the current image's selection. I'm pretty sure I've worked out how to pull in and edit the selection at this point, but I don't know how to set the modified selection back into the image. I've a few questions:
- Is there documentation for how to handle this sort of thing? It was quite the effort to get as far as I've gotten. I am comfortable with C, if that helps.
- Can anyone provide an example of how to modify the current image's selection based on a byte array?
- Alternately, here is my current logic. If anyone can fill in the blank ("# ???" line) then I'd be very grateful:
Code:
def do_run(self, procedure, run_mode, image, n_drawables, drawables, config):
try:
selection_mask = image.get_selection()
if selection_mask is None:
Gimp.message("No selection found. This tool only works with an active selection.")
return procedure.new_return_values(Gimp.PDBStatusType.EXECUTION_ERROR, None)
old_buffer = selection_mask.get_buffer()
rect = old_buffer.get_extent()
old_buffer_bytes = old_buffer.get(rect, 1.0, "Y float", Gegl.AbyssPolicy.NONE)
src_pixels = bytearray(old_buffer_bytes)
dst_pixels = bytearray(old_buffer_bytes)
for y in range(1, rect.height - 1):
for x in range(1, rect.width - 1):
pixel_index = x + y * rect.width
if (src_pixels[pixel_index + 1] != 0 and
src_pixels[pixel_index - 1] != 0 and
src_pixels[pixel_index + rect.width] != 0 and
src_pixels[pixel_index - rect.width] != 0):
dst_pixels[pixel_index] = 0
new_buffer = Gegl.Buffer.new("Y float", rect.x, rect.y, rect.width, rect.height)
new_buffer.set(rect, "Y float", list(dst_pixels))
# ???
return procedure.new_return_values(Gimp.PDBStatusType.SUCCESS, None)
except Exception as e:
Gimp.message(f"ERR: {e}")
return procedure.new_return_values(Gimp.PDBStatusType.EXECUTION_ERROR, None)
|
|
|
Porting C plugin (xsane) to GIMP 3 |
Posted by: skelband - 05-28-2025, 05:27 AM - Forum: Scripting questions
- Replies (2)
|
 |
Hi,
I am engaged in porting the xsane GIMP plugin code to the new GIMP 3 API. So far it has been a bit of a struggle since the doc is still pretty sparse. So I am looking for some hints.
xsane doesn't have a very complex relationship with GIMP, so I don't believe that there is much left to do. However, I do have some specific questions that I hope I can get some help with.
What I have so far is the infrastructure and new boilerplate to register the menu items. All of that works fine.
Now I am looking at image creation.
I have the following sequence to get a new image with an attached layer:
gimp_image_new()
gimp_layer_new()
gimp_image_insert_layer()
Now, in order to get a buffer onto which to draw the scanned image, the GIMP 2 code used:
buffer = gimp_drawable_get_buffer(layer_ID);
However, this function does not take a layer in GIMP 3. It takes a GimpDrawable. What do I need to do to draw to a layer or is there a different method not recommended? There doesn't seem to be a function to get a drawable from a layer.
Cheers, and thanks in advance.
skelband
|
|
|
|