11-21-2022, 09:50 AM
(This post was last modified: 11-21-2022, 10:59 AM by tkemmere.
Edit Reason: Gimp version number added
)
Hi,
I have a process that I need to perform multiple times in the future, so I started looking into the Script-fu documentation and tutorial on gimp.org. I can sort of follow the explanations and if I would keep at it for a day or so I might be able to get somewhere. (Edit: Actually, I'm not sure if I could manage it).
I decided to turn to this forum and ask the open question whether anybody (who is obviously infinitely more experienced ) is willing to get me going with a basic script. You can take this question two ways:
He's just being a lazy bum and let us do the work... (Please then let me know if a question like this is 'not done').
Oh, that's easy, I'll put something simple down, then he can take it from there and tweak and learn Script-fu...
My objective is to create an image in 5 shades out of a black and white picture. But before turning it into the shades, it needs to be Gaussian blurred to an X amount. The amout of blur depends on the picture. So the solution is trial and error. I do GB 10, 15, 20, 25, 30. Then I look at the results to select the best one.
Imagine the base-image is opened. The repetitive actions then are:
- Blur picture Gaussian blur 10;
- Image > Mode > Indexed 5, optimal palet, max colours 5;
- Save as pic10.jpg Same folder No compression;
- Undo;
- Undo;
- Blur picture Gaussian blur 15...
and so on.
Is there someone out there willing to give it a shot? I will also continue reading/working on it.
Thanks! Thomas.
PS. I'm using GIMP 2.10.22.
An overview of the work and that I can come up with myself.
The first step would be to set a Range of variables for the blur. Like {10, 15, 20, 25, 30}. I have no idea how to do that.
Then the first of the Range is loaded into variables 'X-value' and 'Y-value'. I have no idea how to do that.
Start logging steps to undo into a group. This is what I found to record the two steps thereafter into a group:
(gimp-image-undo-group-start image?)
Then comes the Blur script step. That I found:
(plug-in-gauss run-mode image drawable horizontal vertical method)
(plug-in-gauss 1 image? drawable? X-value Y-value 1)
Then comes the change image mode. That I found too:
(gimp-image-convert-indexed image dither-type palette-type num-cols alpha-dither remove-unused palette)
(gimp-image-convert-indexed image? 0 0 5 TRUE TRUE ignored?)
Stop logging undo steps.
(gimp-image-undo-group-end image?)
Next is Save as.
(file-jpeg-save run-mode image drawable filename raw-filename quality smoothing optimize progressive comment subsmp baseline restart dct)
(file-jpeg-save 1 image? drawable? Pic+X-value+.jpg Pic+X-value+.jpg 1 0 0 0 no_comment 4 0 0 dct?)
The script step to perform an the undo group. I couldn't find.
Something like (gimp-image-undo-now! image?)
Or maybe Undo-group-start and end are not needed, because at this point one can just do Gimp-Undo twice. But I can't find Gimp-Undo.
Increase variables 'x-value' and 'y-value' to next in Range. I have no idea how to do that.
Exit if Range is finished. I have no idea how to do that.
Run from the top. I have no idea how to do that.
I have a process that I need to perform multiple times in the future, so I started looking into the Script-fu documentation and tutorial on gimp.org. I can sort of follow the explanations and if I would keep at it for a day or so I might be able to get somewhere. (Edit: Actually, I'm not sure if I could manage it).
I decided to turn to this forum and ask the open question whether anybody (who is obviously infinitely more experienced ) is willing to get me going with a basic script. You can take this question two ways:
He's just being a lazy bum and let us do the work... (Please then let me know if a question like this is 'not done').
Oh, that's easy, I'll put something simple down, then he can take it from there and tweak and learn Script-fu...
My objective is to create an image in 5 shades out of a black and white picture. But before turning it into the shades, it needs to be Gaussian blurred to an X amount. The amout of blur depends on the picture. So the solution is trial and error. I do GB 10, 15, 20, 25, 30. Then I look at the results to select the best one.
Imagine the base-image is opened. The repetitive actions then are:
- Blur picture Gaussian blur 10;
- Image > Mode > Indexed 5, optimal palet, max colours 5;
- Save as pic10.jpg Same folder No compression;
- Undo;
- Undo;
- Blur picture Gaussian blur 15...
and so on.
Is there someone out there willing to give it a shot? I will also continue reading/working on it.
Thanks! Thomas.
PS. I'm using GIMP 2.10.22.
An overview of the work and that I can come up with myself.
The first step would be to set a Range of variables for the blur. Like {10, 15, 20, 25, 30}. I have no idea how to do that.
Then the first of the Range is loaded into variables 'X-value' and 'Y-value'. I have no idea how to do that.
Start logging steps to undo into a group. This is what I found to record the two steps thereafter into a group:
(gimp-image-undo-group-start image?)
Then comes the Blur script step. That I found:
(plug-in-gauss run-mode image drawable horizontal vertical method)
(plug-in-gauss 1 image? drawable? X-value Y-value 1)
Then comes the change image mode. That I found too:
(gimp-image-convert-indexed image dither-type palette-type num-cols alpha-dither remove-unused palette)
(gimp-image-convert-indexed image? 0 0 5 TRUE TRUE ignored?)
Stop logging undo steps.
(gimp-image-undo-group-end image?)
Next is Save as.
(file-jpeg-save run-mode image drawable filename raw-filename quality smoothing optimize progressive comment subsmp baseline restart dct)
(file-jpeg-save 1 image? drawable? Pic+X-value+.jpg Pic+X-value+.jpg 1 0 0 0 no_comment 4 0 0 dct?)
The script step to perform an the undo group. I couldn't find.
Something like (gimp-image-undo-now! image?)
Or maybe Undo-group-start and end are not needed, because at this point one can just do Gimp-Undo twice. But I can't find Gimp-Undo.
Increase variables 'x-value' and 'y-value' to next in Range. I have no idea how to do that.
Exit if Range is finished. I have no idea how to do that.
Run from the top. I have no idea how to do that.