| Welcome, Guest |
You have to register before you can post on our site.
|
| Forum Statistics |
» Members: 5,093
» Latest member: Noah0121
» Forum threads: 7,796
» Forum posts: 42,332
Full Statistics
|
| Latest Threads |
A Search For Missing Belg...
Forum: Watercooler
Last Post: Tas_mania
2 hours ago
» Replies: 1
» Views: 1,026
|
Can you identify effects/...
Forum: General questions
Last Post: rich2005
5 hours ago
» Replies: 3
» Views: 114
|
eps file won't open
Forum: General questions
Last Post: rich2005
Yesterday, 09:26 AM
» Replies: 2
» Views: 205
|
undesirable grid
Forum: General questions
Last Post: rich2005
01-29-2026, 12:45 PM
» Replies: 1
» Views: 175
|
GIMP 3.0.8 Installation
Forum: Windows
Last Post: rich2005
01-28-2026, 06:41 PM
» Replies: 1
» Views: 269
|
GIMP won't start after fr...
Forum: Windows
Last Post: denzjos
01-27-2026, 05:04 PM
» Replies: 2
» Views: 297
|
Display not keeping up wi...
Forum: Extending the GIMP
Last Post: nmw01223
01-26-2026, 06:39 PM
» Replies: 2
» Views: 280
|
Preferences/Folders shows...
Forum: Gimp 2.99 & Gimp 3.0
Last Post: programmer_ceds
01-26-2026, 05:21 PM
» Replies: 6
» Views: 3,925
|
Perspective tool anchors.
Forum: Extending the GIMP
Last Post: denzjos
01-25-2026, 04:01 PM
» Replies: 7
» Views: 505
|
Safe Technique to Unlock ...
Forum: Watercooler
Last Post: denzjos
01-24-2026, 11:43 AM
» Replies: 2
» Views: 304
|
|
|
| Best way to recolor this image |
|
Posted by: IndiePubber - 01-11-2026, 05:02 AM - Forum: General questions
- Replies (8)
|
 |
I'll be using the attached image for the background of the cover for the next novel I'm indie publishing. I want to switch the colors so the white infill areas are a certain shade of red, the dark timbers are shades of pinkish white, and the windows are something in between--- not all the same color, but a range reflecting the highlights and shadows of the original picture.
I've learned that Colors ---> Maps ---> Color Exchange might work for me. I've figured out that I can't select the From Color until I've turned off the alpha channel on the image.
But when I select the From Color, choose the To Color, and click OK, nothing happens. The photo doesn't change, even though the Edit menu gives me the option to undo the Color Exchange.
I prefer to work on my older ThinkPad touchscreen laptop where I run GIMP 2.8 on Windows 7. I also have a Windows 10 PC with GIMP 3.04. As another test, I used it to try Color Exchange on this Fachwerk photo. But again, when I click OK, I see no change. And again, the Edit menu tells me the exchange was made.
It's the same with other images I've tried.
Given all this, I have two questions:
1. Is Color Exchange the best way to do what I want here?
2. If it is, what am I failing to do, that I can't see any change in 2.8 or in 3.04? Is there another step I need to take to complete the process?
Thanks in advance.
|
|
|
| Installing in a secure environment |
|
Posted by: ThecknoDecker - 01-09-2026, 06:18 PM - Forum: Windows
- Replies (2)
|
 |
We want to install Gimp at our office.
But we are looking for a way to block the installation of plug-ins by our users.
The objective being that the IT Dept, will verify the plugins and the security risks of them before deploying to each user.
I haven't seen a way to block the installation of plugins by users. Espacially since they can always go and say it's in this or that folder (so finding one they have rights to).
Thanks,
|
|
|
Photobooth "look" - python script |
|
Posted by: chlowden007 - 01-09-2026, 07:42 AM - Forum: Extending the GIMP
- Replies (7)
|
 |
Hello
I asked Gemini GPT about how to replicate a colour chemical photobooth look in GIMP. Gemini explained the photobooth history, different lenses and chemical approaches and eventually wrote me a python script that creates the look.
Of course, the python script looks the part to an neophyte such as myself, but does not work either in python3 or Gimp python or as a filter. It does not show in GEGL either.
(I have yet to get a GPT sourced python script that works off the bat, so dev still have a career in front of them).
The funny thing is, the every time I ask the GPT to correct the script, it finds an "error" to correct, but none of these corrections ever make the code work.
The primary issue is that when I run the script in fu-script, I get loads of indentation error! Python indentation drives me crazy.
Therefore ... Does anyone know if there is a working "photobooth" GIMP script?
Can anyone help me debug this script for GIMP 3 linux please ?
Code:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
import gi
import datetime
try:
gi.require_version('Gimp', '3.0')
gi.require_version('Gegl', '0.4')
from gi.repository import Gimp, Gegl, GObject, GLib
except ValueError, e:
sys.exit(1)
def apply_schneider_look(image, drawable):
"""Applies optical and chemical effects."""
pdb = Gimp.get_pdb()
# 1. Mirror
drawable.transform_flip_simple(Gimp.OrientationType.HORIZONTAL,
True, 0)
# 2. Schneider Optical Effects
# We use Gimp.ValueArray.new(count) for GIMP 3 compatibility
dist_args = Gimp.ValueArray.new(3)
dist_args.insert(0, GObject.Value(Gimp.Drawable, drawable))
dist_args.insert(1, GObject.Value(GObject.TYPE_STRING,
'gegl:lens-distortion'))
pdb.run_procedure('gimp-drawable-edit-gegl-config', dist_args)
bloom_args = Gimp.ValueArray.new(3)
bloom_args.insert(0, GObject.Value(Gimp.Drawable, drawable))
bloom_args.insert(1, GObject.Value(GObject.TYPE_STRING, 'gegl:bloom'
))
pdb.run_procedure('gimp-drawable-edit-gegl-config', bloom_args)
# 3. Chemical Color Shift
cb_args = Gimp.ValueArray.new(11)
cb_args.insert(0, GObject.Value(Gimp.Drawable, drawable))
cb_args.insert(1, GObject.Value(GObject.TYPE_DOUBLE, -0.15))
cb_args.insert(2, GObject.Value(GObject.TYPE_DOUBLE, 0.0))
cb_args.insert(3, GObject.Value(GObject.TYPE_DOUBLE, 0.10))
cb_args.insert(4, GObject.Value(GObject.TYPE_DOUBLE, 0.0))
cb_args.insert(5, GObject.Value(GObject.TYPE_DOUBLE, 0.0))
cb_args.insert(6, GObject.Value(GObject.TYPE_DOUBLE, 0.0))
cb_args.insert(7, GObject.Value(GObject.TYPE_DOUBLE, 0.10))
cb_args.insert(8, GObject.Value(GObject.TYPE_DOUBLE, 0.0))
cb_args.insert(9, GObject.Value(GObject.TYPE_DOUBLE, -0.25))
cb_args.insert(10, GObject.Value(GObject.TYPE_BOOLEAN, True))
pdb.run_procedure('gimp-drawable-color-balance', cb_args)
# 4. Silver Halide Grain
grain_args = Gimp.ValueArray.new(3)
grain_args.insert(0, GObject.Value(Gimp.Drawable, drawable))
grain_args.insert(1, GObject.Value(GObject.TYPE_STRING,
'gegl:noise-rgb'))
pdb.run_procedure('gimp-drawable-edit-gegl-config', grain_args)
def photobooth_main_proc(
procedure,
run_mode,
image,
drawables,
args,
data,
):
Gimp.context_push()
image.undo_group_start()
# Constants
(STRIP_W, STRIP_H) = (600, 1800)
(MARGIN, FRAME_H) = (40, 400)
new_image = Gimp.Image.new(STRIP_W, STRIP_H, Gimp.ImageBaseType.RGB)
bg_color = Gimp.RGB()
bg_color.set_parse('#F9F7F2')
bg_layer = Gimp.Layer.new(
new_image,
'Paper Base',
STRIP_W,
STRIP_H,
Gimp.Precision.U8_GAMMA,
100,
Gimp.LayerMode.NORMAL,
)
new_image.insert_layer(bg_layer, None, 0)
Gimp.context_set_background(bg_color)
bg_layer.fill(Gimp.FillType.BACKGROUND)
y_offset = MARGIN
for i in range(min(len(drawables), 4)):
source_layer = drawables[i]
new_frame = Gimp.Layer.new_from_drawable(source_layer,
new_image)
new_image.insert_layer(new_frame, None, -1)
apply_schneider_look(new_image, new_frame)
target_w = STRIP_W - MARGIN * 2
scale_ratio = target_w / new_frame.get_width()
new_frame.scale(target_w, int(new_frame.get_height()
* scale_ratio), True)
new_frame.set_offsets(MARGIN, y_offset)
y_offset += FRAME_H + 15
# Mechanical Date Stamp
stamp_color = Gimp.RGB()
stamp_color.set_parse('#B22222')
Gimp.context_set_foreground(stamp_color)
date_str = datetime.datetime.now().strftime('PHOTO-ME - %d %b %Y'
).upper()
# Text Layer logic for GIMP 3
stamp_layer = Gimp.text_fontname(
new_image,
None,
0,
0,
date_str,
0,
True,
18,
'Sans-Serif',
)
if stamp_layer:
stamp_layer.transform_rotate_simple(Gimp.OrientationType.VERTICAL,
True, 0, 0)
stamp_layer.set_offsets(STRIP_W - 35, STRIP_H - 450)
stamp_layer.set_opacity(70)
Gimp.Display.new(new_image)
image.undo_group_end()
Gimp.context_pop()
Gimp.displays_flush()
return procedure.new_return_values(Gimp.PDBStatusType.SUCCESS,
GLib.Error())
class PhotoboothPro(Gimp.PlugIn):
def do_query_procedures(self):
return ['python-fu-photobooth-pro']
def do_create_procedure(self, name):
procedure = Gimp.ImageProcedure.new(self, name,
Gimp.PDBProcType.PLUGIN, photobooth_main_proc, None)
procedure.set_image_types('RGB*')
procedure.set_documentation('Schneider Photobooth Pro',
'Full analog strip recreation',
name)
procedure.set_menu_label('Schneider Photobooth Pro...')
procedure.add_menu_path('<Image>/Filters/Artistic')
procedure.set_attribution('Gemini', 'Gemini', '2026')
return procedure
Gimp.main(PhotoboothPro.__gtype__, sys.argv)
|
|
|
| erasing paintbrush strokes |
|
Posted by: Laco - 01-05-2026, 08:05 AM - Forum: General questions
- Replies (3)
|
 |
I can't seem to find a way to use the eraser tool just to erase brush strokes. I can only seem to get the eraser tool to act upon the entire image, erasing to the background, instead of erasing only the paintbrush strokes.
I will better explain with a simple example. Say I have a simple single layer file with a photograph of a person. I use the paintbrush tool to draw a hat on the person. Maybe I don't like what I drew with the paintbrush so I want to erase it, or part of it. I switch to the eraser tool, but instead of only erasing the hat that I drew with the paintbrush it erases the top part of the head also, exposing the blank background. How do I erase just the hat drawn with the paintbrush and not the entire image?
(Hopefully there is a method that works whilst still working on a single layer. I am not experienced enough at the moment to work with layers.)
Any advice would be greatly appreciated.
|
|
|
|