| Welcome, Guest |
You have to register before you can post on our site.
|
| Latest Threads |
Pixels after exporting to...
Forum: General questions
Last Post: Scallact
6 hours ago
» Replies: 3
» Views: 238
|
can I do these Photoshop ...
Forum: General questions
Last Post: rich2005
10 hours ago
» Replies: 1
» Views: 103
|
Selecting more than one l...
Forum: General questions
Last Post: teapot
Today, 01:40 AM
» Replies: 4
» Views: 350
|
affinity now free
Forum: Other graphics software
Last Post: connag
Today, 12:30 AM
» Replies: 1
» Views: 568
|
GIMP: The Movie | Officia...
Forum: Gallery
Last Post: connag
Today, 12:21 AM
» Replies: 1
» Views: 96
|
migrating 2.8 bash script...
Forum: Scripting questions
Last Post: vince
Yesterday, 08:07 AM
» Replies: 10
» Views: 415
|
script-fu help
Forum: Extending the GIMP
Last Post: teapot
Yesterday, 04:57 AM
» Replies: 5
» Views: 325
|
Digikam: photo management...
Forum: Other graphics software
Last Post: denzjos
03-08-2026, 05:50 PM
» Replies: 8
» Views: 10,541
|
Horizons
Forum: General questions
Last Post: denzjos
03-08-2026, 10:33 AM
» Replies: 8
» Views: 648
|
RapidRAW
Forum: Other graphics software
Last Post: denzjos
03-08-2026, 08:17 AM
» Replies: 4
» Views: 1,270
|
|
|
| can I do these Photoshop actions in GIMP 3.0.4? |
|
Posted by: drkenrich - Yesterday, 09:51 PM - Forum: General questions
- Replies (1)
|
 |
I've used Adobe CS6 full suite since it came out. Now I'm old and do very little. For what little I do now, I think GIMP will work for me.
However, there are two PS processes I still need. Hopefully, one of you can tell me how GIMP can do them.
1. I take hundreds of photos when I travel. I use PS Photomerge to combine multiple close overlapping shots to create a single large image.
2. I have a script that takes the file name and overlays it on the lower portion of the image so it's a visible title as it's run through slideshows.
I'd love to transition to GIMP if it can do these two things.
|
|
|
| migrating 2.8 bash scripts to gimp 3 |
|
Posted by: vince - 03-09-2026, 11:53 AM - Forum: Scripting questions
- Replies (10)
|
 |
Hello,
new to this forum I hope someone here could help me a little bit.
As I upgraded from debian 12 to debian 13, gimp was upgraded to version 3.
I have a set of short scripts that allowed me to invoke gimp (at least until version 2.8) from a linux bash console. Now they fail, so I have to adapt them to recent changes.
The one question I still stumble on is the ability to set a drawable in my image. The former syntax does not work anymore :
Code:
(drawable (car(gimp-image-get-active-drawable image)))
so that I can't do anything on a specific layer e.g. desaturate :
Code:
(gimp-drawable-desaturate drawable 0)
How can I instruct gimp that, let's say, the drawable is layer [0] ?
Thanks in advance,
Vince.
|
|
|
| script-fu help |
|
Posted by: egrivel - 03-08-2026, 07:43 PM - Forum: Extending the GIMP
- Replies (5)
|
 |
Hi, I have a script-fu script I wrote back in 2003, which I use to save the current image in the ../edited folder, and mark the image as "saved". I have been using this script in every version of Gimp since 2003 without changes, but when I tried to use it in Gimp 3.0 I got the error:
Execution error for 'DoIt':
Error: eval: unbound variable: gimp-image-get-filename
Does anybody know if the function gimp-image-get-filename has changed in Gimp 3.0, or if I'm missing something in my Gimp installation?
Thanks,
Eric
|
|
|
| Selecting more than one layer mask? |
|
Posted by: teapot - 03-07-2026, 04:09 AM - Forum: General questions
- Replies (4)
|
 |
In Gimp 3.2.0 RC3:
The tip for the cross icon at the bottom right of the layers dialog when a layer mask is selected is plural, it says: "Remove layer masks and their effect" This seems to imply that more than one layer mask can be selected but I can't see a way to do it. When using shift or ctrl to select more than one item in the layers dialog, it activates the layer and not the layer mask even when clicking on layer masks. What does the tip refer to?
|
|
|
| Gimp 3.0 - How to draw stuff with python scripts (pixel by pixel) |
|
Posted by: krokots - 03-04-2026, 05:15 PM - Forum: Scripting questions
- Replies (4)
|
 |
I need help writing some basic script that will draw, for example, a circle, or a rectangle of randomly colored pixels, at a specified X and Y on the selected layer. For now I got this :
Code:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import gi
gi.require_version("Gimp", "3.0")
gi.require_version("GimpUi", "3.0")
gi.require_version("Gegl", "0.4")
from gi.repository import Gimp, GimpUi, Gegl, GObject, GLib
import sys
class DrawCirclePlugin(Gimp.PlugIn):
def do_set_i18n(self, name):
return False
def do_query_procedures(self):
return ["python-fu-draw-circle"]
def do_create_procedure(self, name):
Gegl.init(None)
procedure = Gimp.ImageProcedure.new(
self, name,
Gimp.PDBProcType.PLUGIN,
self.run,
None,
)
procedure.set_image_types("*")
procedure.set_sensitivity_mask(Gimp.ProcedureSensitivityMask.DRAWABLE)
procedure.set_menu_label("Draw Circle")
procedure.add_menu_path("<Image>/Filters/Draw")
procedure.set_documentation(
"Draw a filled/outlined circle of a chosen color and radius",
"Draws a circle centred at (center_x, center_y) with the given "
"radius, fill color, and optional stroke outline.",
name,
)
procedure.set_attribution("Your Name", "Your Name", "2024")
procedure.add_int_argument(
"center-x", "Center X", "X coordinate of the circle center (px)",
0, GLib.MAXINT, 100, GObject.ParamFlags.READWRITE,
)
procedure.add_int_argument(
"center-y", "Center Y", "Y coordinate of the circle center (px)",
0, GLib.MAXINT, 100, GObject.ParamFlags.READWRITE,
)
procedure.add_int_argument(
"radius", "Radius", "Radius of the circle in pixels",
1, GLib.MAXINT, 50, GObject.ParamFlags.READWRITE,
)
default_color = Gegl.Color.new("red")
procedure.add_color_argument(
"color", "Fill Color", "Color used to fill (and stroke) the circle",
True, default_color, GObject.ParamFlags.READWRITE,
)
procedure.add_boolean_argument(
"fill", "Fill circle", "Fill the interior of the circle",
True, GObject.ParamFlags.READWRITE,
)
procedure.add_boolean_argument(
"stroke", "Draw outline", "Stroke an outline around the circle",
False, GObject.ParamFlags.READWRITE,
)
procedure.add_int_argument(
"stroke-width", "Outline width", "Outline thickness in pixels",
1, 500, 2, GObject.ParamFlags.READWRITE,
)
return procedure
def run(self, procedure, run_mode, image, drawables, config, run_data):
Gimp.message("A")
if run_mode == Gimp.RunMode.INTERACTIVE:
GimpUi.init("draw_circle")
dialog = GimpUi.ProcedureDialog.new(procedure, config, "Draw Circle")
dialog.fill(None)
if not dialog.run():
dialog.destroy()
return procedure.new_return_values(
Gimp.PDBStatusType.CANCEL, GLib.Error()
)
dialog.destroy()
drawable = drawables[0]
image.undo_group_start()
# draw stuff here
image.undo_group_end()
return procedure.new_return_values(Gimp.PDBStatusType.SUCCESS, GLib.Error())
Gimp.main(DrawCirclePlugin.__gtype__, sys.argv)
I see that Drawable class have a method SetPixel, but in the docs it says that undo doesn't work on that. So, how to modify drawable pixels so that undo works ?
|
|
|
|