Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 4,784
» Latest member: T1-Survivor
» Forum threads: 7,596
» Forum posts: 41,400

Full Statistics

Latest Threads
files missing after insta...
Forum: Older Gimp versions (2.8, 2.6....)
Last Post: rich2005
5 hours ago
» Replies: 1
» Views: 77
Is there any version wher...
Forum: Older Gimp versions (2.8, 2.6....)
Last Post: rich2005
Today, 07:48 AM
» Replies: 1
» Views: 274
How do I uninstall GIMP 3...
Forum: Linux and other Unixen
Last Post: Ofnuts
Today, 07:02 AM
» Replies: 1
» Views: 149
AI Gimp Plugins
Forum: Watercooler
Last Post: merlilderman
Yesterday, 04:16 PM
» Replies: 21
» Views: 68,451
How to make a watermark o...
Forum: General questions
Last Post: kyolim
09-13-2025, 10:05 PM
» Replies: 5
» Views: 14,264
Linux command that does e...
Forum: Other graphics software
Last Post: rich2005
09-13-2025, 06:06 PM
» Replies: 1
» Views: 534
reliable Gimp 2.10.38 dow...
Forum: Older Gimp versions (2.8, 2.6....)
Last Post: denzjos
09-13-2025, 05:20 PM
» Replies: 2
» Views: 434
Batch Color Saturation
Forum: Extending the GIMP
Last Post: rich2005
09-13-2025, 07:53 AM
» Replies: 15
» Views: 12,118
Photo play-time
Forum: Gallery
Last Post: Ofnuts
09-13-2025, 07:32 AM
» Replies: 24
» Views: 21,957
BIMP plugin for GIMP 3.10
Forum: Extending the GIMP
Last Post: firefly
09-12-2025, 11:53 PM
» Replies: 2
» Views: 785

 
  gimp-item-transform-rotate question
Posted by: box_noise - 01-12-2024, 12:37 AM - Forum: Scripting questions - Replies (3)

I am working on my first script-fu project on gimp 2.10 and have a problem using the gimp-item-transform-rotate procedure.

I can use this directly in the Script-Fu Console and it works correctly: (gimp-item-transform-rotate 2 -0.009593 0 907 73 )
When I try to use this same command in my script, the script will execute and I can see the status bar showing it do the rotate calculations, but when it finishes the layer is not actually rotated. What's odd is that once I manually click anywhere on the image with the fuzzy tool ... then the image will rotate correctly.

I tried putting a fuzzy select and bucket-fill command after the rotate command in my script ... the script finishes, but I have to manually click on the image before it does the rotate and bucket fill.

So my question is, what do I need to do in the script to apply the rotate command directly (and rotate the image without waiting for me to manually click on the image)?  Again, this is my first attempt with script-fu, so I am probably missing something pretty basic Smile

Note: I also tried a (gimp-image-rotate image 0) command. It works correctly in the Script-Fu Console. When I run it in my script, it acts similar to above: the layer rotates correctly, but the photo does not rotate to fit the layer until I manually click somewhere on the image.

Print this item

  Can't save over tool presets
Posted by: TheSeaWeeD - 01-11-2024, 02:03 PM - Forum: General questions - Replies (2)

Gimp 2.10 on Windows 11, What i'm trying to do is save my eraser as the hardness 100 brush and shrink it so every time i pull up the eraser i have a circle for cleaning up lines instead of a pixel, but i don't want to change the paintbrush specs. I tried the Save Tool Presets option at the bottom of the tab and that brings up the preset thing on the right-hand side of the screen, then i click save there and nothing seems to happen. I right clock the eraser tool and there's no additional options, it looks like when i try to save again there's an eraser # 1 now (i tried a few times so I might have made the same thing over and over again by accident) and when i switch back to the drawing tool the brush size and settings keep from the eraser.

Tl;Dr I want to customize my eraser and save the brush size to just being the wider eraser and switch back to the thin pen without editing settings each time. Kinda new to GIMP here and this is my first forum post also so I'm doing my best and want to improve as much as I can  Heart

Print this item

  Python-Fu - os.path not working
Posted by: BaconWizard17 - 01-10-2024, 09:38 PM - Forum: Scripting questions - Replies (5)

Hi all,

I'm trying to set up a Python-Fu script that will get the file path of the current file, save the file, and then return the folder and file name of the file. For some reason, though, the os.path operations that I'm including don't appear to be working. Here's the code:

Code:
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
from gimpfu import*

def getPathSave(image, layer):
    pdb.gimp_message("Test")
    filePath = pdb.gimp_image_get_filename(image)  
    pdb.gimp_message("filePath = " + str(filePath))  
    pdb.gimp_file_save(image, layer, filePath, filePath)
    pathCheck = os.path.exists(filePath)  # sanity check to make sure that it's actually giving me a path
    pdb.gimp_message("pathCheck = " + str(pathCheck))    
    folderName = os.path.dirName(filePath)
    pdb.gimp_message("folderName = " + str(folderName))
    fileName = os.path.basename(filePath)
    pdb.gimp_message("fileName = " + str(fileName))
    #return folderName, fileName

register(
    "python_fu_marvelmods_basic_get_path_save",
    "Saves the file and collects file path information. Returns the folder that the file is in, as well as its name (without the extension).",
    "Saves the file and collects file path information. Returns the folder that the file is in, as well as its name (without the extension).",
    "BaconWizard17",
    "BaconWizard17",
    "January 2024",
    "Get File Path and Save",
    "*",
    [
        (PF_IMAGE, "image", "Input image", None),
        (PF_DRAWABLE, "drawable", "Layer, mask, or channel", None)
    ],
    [
        #(PF_STRING, "folderName", "The folder that the file is in"),
        #(PF_STRING, "fileName", "The file name")
    ],
    getPathSave,
    menu='<Image>/Marvel Mods/Basic Procedures'
)

main()

I took this code from a finished script that already works. It's a process that I use in a lot of other scripts, so I'm trying to consolidate it into one and just call this instead of copying the same code every time. But I can't get it to work on its own for whatever reason. I haven't even gotten to the point of returning the values (you can see that they're commented out). The first three pdb.gimp_message scripts work and will show something in the error console, but the last two don't show anything. It seems that the values aren't getting collected, so there's nothing to return. But I have no clue why it's not working.

I've tried using this method to debug the script, but it just crashes the Python-Fu console for some reason, so I haven't gotten any luck there.

I'm on Windows 10 and using GIMP 2.10.36. Any help would be seriously appreciated!

Print this item

  GEGL Drop Shadow: A New Attempt
Posted by: BaconWizard17 - 01-10-2024, 04:17 PM - Forum: Scripting questions - Replies (1)

Hi all,

I've been trying to figure out how to set up a script that will do a drop shadow with the GEGL drop shadow filter. This is something I've wanted to do in the past, but didn't get any traction on it. Since then, I've found what seems like a possible solution, but I'm having issues actually implementing it.

I did this thread with a way to use GEGL with Python-Fu (is there a more current way to do this?), and I also found this set of scripts that transcribe the various GEGL operations into individual Python-Fu scripts (again, is there something more current than this?). I have both scripts in my Plug-Ins folder. If I use the drop shadow script from the "GEGL as Python" toolbar in Gimp, it works great. My question is how to properly code that into a script.

Here's the drop shadow script from MareroQ:

Code:
def gegl_dropshadow(image, layer, shadow_offset_x, shadow_offset_y, shadow_blur, grow_shape, grow_radius, color_s, shadow_opacity):

   color_to_gegl=rgb_to_hex(color_s)
   if grow_shape==0:
       grow_s='square'
   if grow_shape==1:
       grow_s='circle'
   if grow_shape==2:
       grow_s='diamond'
        
   gegl_graph_string="gegl:dropshadow x=%d y=%d radius=%d grow-shape=%s grow-radius=%d color=%s opacity=%f" % (shadow_offset_x, shadow_offset_y, shadow_blur,grow_s,grow_radius, color_to_gegl, shadow_opacity)
   pdb.python_fu_gegl_graph(image, layer, gegl_graph_string)
register(
   "python_fu_gegl_dropshadow",
   "GEGL to Python. Works on the active layer",
   "Creates a dropshadow effect on the input buffer",
   "Auto Author",
   "Auto Author",
   "Auto Generated Dated",
   "<Image>/GEGL as Python/gegl-dropshadow...",             #Menu path
   "*",
   [

   (PF_SPINNER, "shadow_offset_x", "Shadow Offset X:", 5, (-1000, 1000, 1)),
   (PF_SPINNER, "shadow_offset_y", "Shadow Offset Y:", 5, (-1000, 1000, 1)),
   (PF_SPINNER, "shadow_blur",     "Shadow Blur Radius:", 5, (0, 300, 1)),
   (PF_OPTION,  "grow_shape",      "Grow Shape: ", 0, [" Square "," Circle ", " Diamond "]),    
   (PF_SPINNER, "grow_radius",     "Grow Radius:", 5, (-100, 100, 1)),
   (PF_COLOR,   "color_s",         "Color:", (0, 0, 0)),
   (PF_FLOAT,   "shadow_opacity",  "Shadow Opacity (default:1.5, 0..2):", 1.5)      # (0, 2, 0.01)),  
   ],
   [],
   gegl_dropshadow)

Here's my attempt at implementing that into my own script:

Code:
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from gimpfu import*

def generate_hud_outline(image, layer):
   pdb.gimp_image_undo_group_start(image)
   pdb.gimp_selection_none(image)
   pdb.python_fu_gegl_dropshadow(image, layer, 0.00, 0.00, 2.00, "circle", 1, gimpcolor.RGB(0,0,0), 1.25)
   pdb.gimp_displays_flush()
   pdb.gimp_image_undo_group_end(image)

register(
   "python_fu_marvelmods_common_generate_hud_outline",
   "Generates an outline for a conversation portrait.",
   "Generates an outline for a conversation portrait.",
   "BaconWizard17",
   "BaconWizard17",
   "January 2024",
   "Generate Conversation Portrait (HUD) Outline",
   "*",
   [
       (PF_IMAGE, "image", "Input image", None),
       (PF_DRAWABLE, 'drawable', 'Layer, mask or channel', None)
   ],
   [],
   generate_hud_outline,
   menu='<Image>/Marvel Mods/Utilities'
)

main()

However, this script keeps failing, and I'm not sure why. If I run it from the toolbar, the error console gives an error that says
"GIMP Warning
Plug-in 'Generate Conversation Portrait (HUD) Outline' left image undo in inconsistent state, closing open undo groups."

If I try to run it in the Python-Fu console using this method, it crashes and I get the following error in the error console:
"GIMP Error
Plug-in crashed: "python-console.py"
(C:\Program Files\GIMP 2\lib\gimp\2.0\plug-ins\python-console\python-console.py)

The dying plug-in may have messed up GIMP's internal state. You may want to save your images and restart GIMP to be on the safe side."

Any thoughts on what I could be doing wrong? I'm using GIMP 2.10.36 on Windows 10.

Print this item

  tutorial allowing you to position an animated image (.gif) on a jpg image
Posted by: jps0302 - 01-10-2024, 03:01 PM - Forum: General questions - Replies (5)

Hi,


I am looking for a tutorial or a procedure allowing you to position an animated image (.gif) on a jpg image.
I use version 2.10 of Gimp

Thank you for your answers

Print this item

  Deepdreamgenerator AI images
Posted by: diagramjamal1 - 01-10-2024, 12:12 PM - Forum: Gallery - Replies (2)

https://deepdreamgenerator.com/u/diagramjamals
   

Print this item

  The 'mouse keeping' mouse - was it transgenic?
Posted by: Tas_mania - 01-10-2024, 10:57 AM - Forum: Watercooler - Replies (1)

Many people saw the clip on TV dubbed 'mouse keeping'by some outlets.

   

It's kind of entertaining and this behavior is typical of rodents. In the US rodents that live in abandoned mines are called 'pack rats'.
10 years ago mice with human dna were already being developed in the UK.
So how many of those modified mice ended-up in people's sheds doing some house work?



[url=https://www.independent.co.uk/news/science/exclusive-mice-with-human-chromosomes-the-genetic-breakthrough-that-could-revolutionise-medicine-8701357.html][/url]

Print this item

Question How can I use GIMP to batch process .png files?
Posted by: Rapidfly - 01-09-2024, 08:52 PM - Forum: General questions - Replies (5)

I'm working on recolouring resource asset files for iTunes to create a dark mode theme - I managed to extract the files and now I'm searching a way to modify the extracted .png files.

The directory looked like this:
[Image: bef.png]

I went through the first 50 or so files manually adjusting the hue/saturation in Photoshop and they are starting to look much more like a dark mode theme:
[Image: aft.png]

Although manually editing them was a sound approach for testing the alterations, there are around 3000 extracted .png files in total so I'm searching for a way to process all of these files as a batch.

I was wondering if there was a way that GIMP could do this - perhaps a script that replaces certain colours with other colours so that it would be possible to create a variety of skins/themes in the future, for many different software. A script that could replicate the photoshop changes (hue/saturation adjustments) as a batch would suffice too as I would still be able to create a very basic dark mode theme for the community.

Print this item

  Get rid of thin pic border after Crop
Posted by: GMP - 01-09-2024, 07:19 PM - Forum: General questions - Replies (4)

I cropped a pic and it looks fine except I didn't quite get the very outside border of the pic. So there's a tiny line at the top and the right. I did it right on the left. I tried to fix it with the Crop tool, but it didn't work. I tried the Eraser tool, but I couldn't get it to work, since I've never used it before. What the best way to fix this?


I tried the Eraser tool again, and this time it worked. Not sure what I was doing wrong, except this time I chose the tool from the icons on the left

Print this item

  How to write a script for bundle editing yellow photos
Posted by: Stephen Liu - 01-09-2024, 09:35 AM - Forum: General questions - Replies (2)

Hi all,

I have bundles for old yellowish photos to restore.

I run GUI commands/steps to do the job.  Can I write a script to do the job if I found the GUI commands/steps suitable after testing?

I have no idea of the back-end commands.  Please advise.  Thanks.

Regards

Print this item