Welcome, Guest |
You have to register before you can post on our site.
|
Forum Statistics |
» Members: 4,332
» Latest member: jpaul
» Forum threads: 6,648
» Forum posts: 36,225
Full Statistics
|
|
|
Automate adding text into a PNG |
Posted by: Joe_Wulf - 10-27-2022, 02:15 AM - Forum: Older Gimp versions (2.8, 2.6....)
- Replies (4)
|
|
Hello,
I've been tasked to take over a linux-based project. In that there are two PNG images, and their (source?) XCF files. Available GIMP version on linux host is 2.08.
There is specific text that must be replaced into these PNG images as the development works towards the next version of the whole project.
Historically the PNG modifications have been done manually. I'm looking to automate the task, and preferably with BASH (but I can make adjustments).
I have lots of linux SysAdmin, installation, automation and troubleshooting experience. Until this project I haven't ever used GIMP; I've simply absorbed the existing task.
The process today is to manually copy "PNG1_20220814.xcf" to "PNG1_20221026.xcf" and copy "PNG2_20220814.xcf" to "PNG2_20221026.xcf".
Next I run "gimp PNG1_20221026.xcf"; and manually edit an existing text box (I then do the same thing with PNG2, but its text is in a different place, though the same content).
I use the TEXT tool (block letter "A"), highlight the date/time text and replace it, then I do the same for the verson number.
I then save the new XCF as is, and then Export the image to the same name as a PNG. This is done for both images; manually.
PNG1/PNG2 text (standard/normal horizontal text):
Title Line of what it is (unchanging)
Date and time of the current version in this format: "20221026@1922"
New overall version number, in this format: "MAJ.min.sml".............. examples: MAJ="218" . min="076" . sml="002"
The 'box' this text is in is transparent, the text is some dark shade of Blue for one, and Red for the other. All of the text is bolded, and using font "Sans 18 px"
I don't know GIMP well enough to know how to describe digitally WHERE these text boxes are, just that I see them when GIMP opens each one up.
I could easily 'delete' the text box, and save a generic image without it, then use that as the source MASTER image forever.
Next, with a simple bash script, I would easily have the correct date/time stamp and proper version number information automatically available from other parts of the project.
I am seeking assistance in how to automate using GIMP, via Linux, in a strictly scripted fashion to automatically open the MASTER image, insert a new text box with the correct 3 lines of information at the specified coordinates, and then simply export the completed image as a PNG with a newly chosen name (as identified in the copy operation earlier).
I believe with some insight into how to automate inserting a 3 line transparent text box, say 20 pixels down from the top edge and 20 pixels in from the left edge, that I could finangle the process to place the text box in the right location with some iterative testing and logical guesswork. And as long as the insight is also provide on how to open PNG1, do the right text insert for it, then PNG2 and do the right text insert for it, and could save each PNG.... then I'd be much more efficient.
I have done searches throughout out google and youtube, as well as searches against these forums without finding any answer that matched up to what I'm doing.
Thak you, and I appreciate your help.
R,
-Joe Wulf
|
|
|
CLONE Tool |
Posted by: gaystan - 10-26-2022, 07:00 PM - Forum: General questions
- Replies (4)
|
|
Hi everybody :
Whenever I try to use the CLONE tool, instead of actually cloning part of an image into another part.
Instead of cloning part of the picture, I start "painting" the color in the selected area.
garystan
document.oncontextmenu = null; document.body.onpaste = null; document.body.onselectstart = null; document.onselectstart = null; document.ondragstart = null; document.body.oncut = null; document.onmousedown = null; document.body.oncontextmenu = null; document.body.oncopy = null; document.body.ondragstart = null; document.body.onmousedown = null;
|
|
|
Support |
Posted by: gaystan - 10-26-2022, 04:13 AM - Forum: Gimp-Forum.net
- Replies (2)
|
|
Hi everybody :
Being the main forum room is permanently closed, how do I get support for
my copy of GIMP. My version is 2.10.32 revision 1. ?
garystan
document.oncontextmenu = null; document.body.onpaste = null; document.body.onselectstart = null; document.onselectstart = null; document.ondragstart = null; document.body.oncut = null; document.onmousedown = null; document.body.oncontextmenu = null; document.body.oncopy = null; document.body.ondragstart = null; document.body.onmousedown = null;
|
|
|
Tools remain active when closed or cancelled. |
Posted by: memwaa - 10-25-2022, 10:47 AM - Forum: General questions
- Replies (2)
|
|
Can someone enlighten me or is this normal:
I'm using the latest version of GIMP 2.10.32, however when I use a Tool or Filter, ie Filters:Blur:Focus Blur and subsequently cancel the operation, the tool re-appears when i click on the screen......in other words, the tool remains active in the background until I select another and then that remain active in the background.
Many thanks in anticipation.
|
|
|
Python-fu basics: importing and exporting files |
Posted by: Xeroxide - 10-24-2022, 04:15 AM - Forum: Scripting questions
- Replies (2)
|
|
Hi, I am sorry if this is a duplicate question. I did my best to check for topics that answered my question, but I'm still a little lost.
What I am trying to do:
load an image from folder_1,
do some transformation to it (this part I understand well enough),
save the image to folder_2 (I can do this using some code I found)
Where I am getting stuck:
my syntax for loading the file seems to be wrong.
It's not showing up in the file menu, which I assume means that I'm missing some essential lines.
I found some code that works to save the file, so I will omit that from my code sample.
This is basically what I have.
#!/usr/bin/python
from gimpfu import *
def load_file():
path = "C:\Users\User\Pictures\GIMP\folder_1\01.png"
filename = path
raw_filename = path
image = pdb.file_png_load(filename, raw_filename)
register(
proc_name = ("python-fu-load"),
blurb = ("load file"),
help = ("imports png from 'new folder' with the name 01"),
author = ("REC"),
copyright = ("REC"),
date = ("2022"),
label = ("load file"),
imagetypes = ("*"),
parameters = [
(PF_IMAGE, "image", "takes current image", None),
(PF_DRAWABLE, "drawable", "input layer", None)
],
results = [],
function = (load_file),
menu = ("<image>/Layer")
)
main()
I know that I'm missing something very basic, but I haven't been able to find an example that simply loads a file to work on using python-fu.
I would love to get my hands on some basic utility plugins or examples written for python-fu, if I have something to reference I can probably figure out what I need.
Thank you for reading this.
|
|
|
Resize all layers in script-fu |
Posted by: BaconWizard17 - 10-23-2022, 04:08 PM - Forum: Scripting questions
- Replies (9)
|
|
Hi all! I've got a bit of a question about scripting. I'm trying to get a script to resize two both layers of an image instead of just the active one, but I'm not entirely sure how to go about doing that. First, I set up the image with this script:
Code:
(define (script-fu-mua-xml2-single-preview)
(let*
(
(theImageWidth 543)
(theImageHeight 1080)
(theImage
(car
(gimp-image-new
theImageWidth
theImageHeight
RGB
)
)
)
(backgroundLayer
(car
(gimp-layer-new
theImage
theImageWidth
theImageHeight
RGBA-IMAGE
"Background"
100
LAYER-MODE-NORMAL
)
)
)
(portraitLayer
(car
(gimp-layer-new
theImage
theImageWidth
theImageHeight
RGBA-IMAGE
"Portraits"
100
LAYER-MODE-NORMAL
)
)
)
)
(gimp-image-add-layer theImage backgroundLayer 0)
(gimp-image-add-layer theImage portraitLayer 0)
(gimp-image-set-active-layer theImage backgroundLayer)
(gimp-display-new theImage)
)
)
I then do some work with that image and export it. After that, I want to double the width of the image by resizing the canvas. In doing so, I want all the layers to resize as well. Here's what I have so far:
Code:
(define (script-fu-mua-xml2-double-preview image layer)
(gimp-image-undo-group-start image)
(gimp-selection-none image)
(gimp-image-resize image 1086 1080 0 0)
(gimp-layer-resize-to-image-size layer)
(gimp-displays-flush)
(gimp-image-undo-group-end image)
)
I cut out some extra stuff from both scripts like some codes to add vertical/horizontal guides in various places which all works the way I want it to. Generally, I have the top layer selected when I execute the second script, so the top layer is resized, but the bottom one isn't. I want it to be able to resize both layers to the image size, though, regardless of which one I have actively selected (if it's possible to do so). How do I go about doing that?
|
|
|
|