| Welcome, Guest |
You have to register before you can post on our site.
|
| Forum Statistics |
» Members: 5,189
» Latest member: TommyNIK
» Forum threads: 7,841
» Forum posts: 42,585
Full Statistics
|
| Latest Threads |
Severe Security Flaws in ...
Forum: Linux and other Unixen
Last Post: rich2005
7 hours ago
» Replies: 6
» Views: 177
|
Parametric Mask plug-in f...
Forum: Extending the GIMP
Last Post: denzjos
03-19-2026, 05:32 PM
» Replies: 1
» Views: 128
|
How do I uninstall GIMP 3...
Forum: Linux and other Unixen
Last Post: rich2005
03-19-2026, 04:29 PM
» Replies: 3
» Views: 2,114
|
How do I color Bevel Text...
Forum: General questions
Last Post: rich2005
03-18-2026, 12:36 PM
» Replies: 8
» Views: 551
|
Gimp 3.x scanner xsane pl...
Forum: Gimp 2.99 & Gimp 3.0
Last Post: rich2005
03-18-2026, 09:52 AM
» Replies: 22
» Views: 19,097
|
Directory & file structur...
Forum: General questions
Last Post: rich2005
03-18-2026, 09:23 AM
» Replies: 1
» Views: 267
|
Batcher - Batch Image Pro...
Forum: Extending the GIMP
Last Post: iborg
03-17-2026, 09:01 PM
» Replies: 8
» Views: 13,539
|
GIMP: The Movie | Officia...
Forum: Gallery
Last Post: LunarEcho
03-17-2026, 01:51 PM
» Replies: 2
» Views: 1,009
|
How do I erase items from...
Forum: General questions
Last Post: cinque888
03-17-2026, 12:09 AM
» Replies: 4
» Views: 490
|
I need it to be opaque
Forum: General questions
Last Post: rich2005
03-15-2026, 07:10 PM
» Replies: 1
» Views: 220
|
|
|
| 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 (6)
|
 |
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 ?
|
|
|
| Monochrome png exports as grayscale antialiased (RESOLVED) |
|
Posted by: vtgimp - 02-27-2026, 07:57 PM - Forum: General questions
- Replies (2)
|
 |
I'm presently trying to export a png file as monochrome only, but every time I do, it converts to grayscale antialiased in the saved .png.
Specifically, I save a strictly monochrome 300 dpi bitmap from MTPaint. I can view that image in any image viewer, including in GIMP itself, zoom in, and see that all of the pixels are either black or white. No grays.
In Gimp if I now export that as a png with a new name, the saved png when opened in any viewer now has antialiased greyscale pixels in curved shapes.
If I take that new image back in, and go to colors>image>threshold and again to make it monochrome, succeed at that, then save it as a png, it converts back to antialiased grayscale in the file.
I'd appreciate any advice on how I can simply save a true monochrome .png with Gimp.
Thanks in advance.
|
|
|
|