Welcome, Guest |
You have to register before you can post on our site.
|
Latest Threads |
CMYK color mode Gimp 2.10
Forum: Extending the GIMP
Last Post: Jānis
58 minutes ago
» Replies: 19
» Views: 82,096
|
Open, save buttons on bot...
Forum: Gimp 2.99 & Gimp 3.0
Last Post: GrumpyDeveloper
Yesterday, 09:52 PM
» Replies: 8
» Views: 2,925
|
edit_paste pastes at inco...
Forum: Scripting questions
Last Post: Ofnuts
Yesterday, 09:35 PM
» Replies: 1
» Views: 89
|
Clone size randomly chang...
Forum: General questions
Last Post: oldschool1@runbox.com
Yesterday, 05:45 PM
» Replies: 2
» Views: 161
|
AI Gimp Plugins
Forum: Watercooler
Last Post: Zbyma72age
Yesterday, 03:31 PM
» Replies: 20
» Views: 53,387
|
Gimp closes automatically
Forum: General questions
Last Post: sallyanne
Yesterday, 05:50 AM
» Replies: 2
» Views: 195
|
AIGoR - Artificial Image ...
Forum: Other graphics software
Last Post: vitforlinux
07-16-2025, 11:10 AM
» Replies: 12
» Views: 3,815
|
Is This Possible ? Print ...
Forum: General questions
Last Post: sallyanne
07-16-2025, 07:47 AM
» Replies: 4
» Views: 199
|
Gimp Crash
Forum: Gimp 2.99 & Gimp 3.0
Last Post: rich2005
07-16-2025, 07:16 AM
» Replies: 1
» Views: 146
|
producing an image
Forum: Gallery
Last Post: MJ Barmish
07-15-2025, 06:37 PM
» Replies: 0
» Views: 109
|
|
|
Gimp opening offscreen |
Posted by: traveler12 - 05-13-2023, 03:18 AM - Forum: General questions
- Replies (1)
|
 |
Splash screen is popping up on the main display (of two), but the program and any images opened are all offscreen. No way to get it back. Gimp was working fine last time I used it, but now it’s playing hide and seek. Tried the Cascade, Stacked, and Side-by-side Windows options, and Gimp is not recognized as an open window. Any easy way to fix this?
|
|
|
Not coming out like step by step |
Posted by: quilla333 - 05-11-2023, 09:23 PM - Forum: General questions
- Replies (8)
|
 |
Ok Guys I am new to gimp. I am trying to fallow a tutorial to make gold lettering from YTube and everything comes out just like the tutorial says. the problem comes when the guy tells me to do a new project in the same one I am following and it does not connect to my layers that I am doing and I get stuck so I can't finish the lettering and It get's very frustrating. can someone help me with this? Thanks
|
|
|
scripts for comics trip |
Posted by: jacques_duflos - 05-11-2023, 08:11 PM - Forum: Extending the GIMP
- Replies (5)
|
 |
Hi there,
I do comics trip as a hobby. Here are some of my works. I use gimp for text, editing, sometimes coloring or texturing. I will show in this thread the scripts I did to ease some tasks. Comments and advice are welcome
This first script is made to prepare a scanned drawing. automatize de-saturating, changing contrast and light, and separate the ink from the background, so I can add a color layer in between and paint.
Code:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# GIMP plugin to separe the ink form the paper of a b&w scan
# (c) Jacques Duflos 2023
#
# History:
#
# v0.0: 2023-xx-xx: First published version
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
import sys, os
from gimpfu import *
import gimpcolor
#print "**********preparer un scan***************"
debug= False
def trace(s):
if debug:
print "****"
print s
print "****"
def preparerUnScan(image):
image.undo_group_start()
trace("1")
# récupérer l'image et le calque selectionné
layer = pdb.gimp_image_get_active_layer(image)
layer_name = pdb.gimp_item_get_name(layer)
trace("2 "+ layer_name)
#désaturer, pousser le contraste très haut et augmenter un peu la luminosité.
# voir pour en faire des paramètres éventuellement.
pdb.gimp_drawable_desaturate(layer, 0)
trace("3")
pdb.gimp_drawable_brightness_contrast(layer, -0.2, 0.8)
#enregistrer les variables de contexte avant de les modifier
opacity_old = pdb.gimp_context_get_opacity()
foreground_old = pdb.gimp_context_get_foreground()
paint_mode_old = pdb.gimp_context_get_paint_mode()
#print foreground_old
pdb.gimp_context_set_opacity(100)
pdb.gimp_context_set_foreground(gimpcolor.RGB(1.0, 1.0, 1.0, 1.0))
pdb.gimp_context_set_paint_mode(LAYER_MODE_COLOR_ERASE)
#effacer l'arrière plan blanc
pdb.gimp_layer_add_alpha(layer)
pdb.gimp_drawable_edit_fill(layer, FILL_FOREGROUND)
trace("fond effacé")
#créer le fond blanc
fond = pdb.gimp_layer_new(image, pdb.gimp_image_width(image), pdb.gimp_image_height(image), RGB_IMAGE , "fond", 100, LAYER_MODE_NORMAL)
num_layers, layer_ids = pdb.gimp_image_get_layers(image)
pdb.gimp_image_add_layer(image, fond, num_layers)
pdb.gimp_context_set_paint_mode(LAYER_MODE_NORMAL )
pdb.gimp_drawable_edit_fill(fond, FILL_FOREGROUND)
#rétablir les variables
pdb.gimp_context_set_opacity(opacity_old)
pdb.gimp_context_set_foreground(foreground_old)
pdb.gimp_context_set_paint_mode(paint_mode_old)
trace("contexte rétabli")
image.undo_group_end()
### Registrations
whoiam='\n'+os.path.abspath(sys.argv[0])
register(
'preparer-un-scan',
'Prépare un scan %s' % whoiam,
'prépare un scan',
'Jacques Duflos','Jacques Duflos','2023',
'Prépare un scan...',
'*',
[
(PF_IMAGE, 'image', 'Image', None)
],
[],
preparerUnScan,
menu='<Image>/Layer'
)
main()
This second script is made to move all the text layers in a layer group named texts.
Code:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# GIMP plugin to move every text layer in a text layer group
# (c) Jacques Duflos 2023
#
# History:
#
# v0.0: 2023-xx-xx: First published version
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
import sys, os
from gimpfu import *
import gimpcolor
print "**********calques texte dans groupe***************"
debug= True
def trace(s):
if debug:
print "**** "
print s
print "**** "
def calquesTextesDansGroupe(image):
image.undo_group_start()
trace("1")
groupe_textes = pdb.gimp_layer_group_new(image)
pdb.gimp_item_set_name(groupe_textes, "textes")
pdb.gimp_image_insert_layer(image, groupe_textes, None, 0)
calques=[]
for numero_calque in range(pdb.gimp_image_get_layers(image)[0]):
calques.append(image.layers[numero_calque])
trace(calques)
for calque in calques :
if pdb.gimp_item_is_text_layer(calque):
pdb.gimp_image_reorder_item(image, calque, groupe_textes, 0)
image.undo_group_end()
### Registrations
whoiam='\n'+os.path.abspath(sys.argv[0])
register(
'textes-dans-groupe',
'Mettre les calques textes dans un groupe %s' % whoiam,
'Mettre les calques textes dans un groupe',
'Jacques Duflos','Jacques Duflos','2023',
'Mettre les calques textes dans un groupe...',
'*',
[
(PF_IMAGE, 'image', 'Image', None)
],
[],
calquesTextesDansGroupe,
menu='<Image>/Layer'
)
main()
Im presently working on a script that makes a text bubble around a text layer.
enjoy !
|
|
|
Issues trying to Compose an image with masked channels |
Posted by: pronay - 05-10-2023, 10:34 PM - Forum: Scripting questions
- Replies (5)
|
 |
Hello,
This is my first time trying to write a Python script in GIMP so I am still learning my way around this stuff.
I am trying to implement a script by which I can perform the following steps:
1. Decompose an Image into RGBA channels (Colors->Components->Decompose->Color Model: RGBA)
2. Recompose an Image using R,G channels with B and A using Mask Value of 255 (Colors->Components->Compose->Color Model: RGBA, B and A use 255 mask value)
To do this in Python, I am attempting the following steps:
Code:
decomposed = pdb.plug_in_decompose(img, drawable, "RGBA", 0)
gimp.message("Performed Decompose")
# Grab the name of the original image
fileNameWithExt = pdb.gimp_item_get_name(draw)
fileNameNoExt = fileNameWithExt.split('.')
# Create the layers
gimp.message("Creating new Layers")
gimp.message("Setting up Red Layer")
layerR = pdb.gimp_layer_new_from_drawable(pdb.gimp_image_get_active_layer(decomposed[0]), decomposed[0])
layerName = fileNameNoExt[0] + "_RGBA_Red"
pdb.gimp_item_set_name(layerR, layerName)
pdb.gimp_image_insert_layer(decomposed[0], layerR, None, 0)
gimp.message("Setting up Green Layer")
layerG = pdb.gimp_layer_new_from_drawable(pdb.gimp_image_get_active_layer(decomposed[1]), decomposed[1])
layerName = fileNameNoExt[0] + "_RGBA_Green"
pdb.gimp_item_set_name(layerG, layerName)
pdb.gimp_image_insert_layer(decomposed[1], layerG, None, 1)
gimp.message("Setting up Blue Layer")
layerB = pdb.gimp_layer_new_from_drawable(pdb.gimp_image_get_active_layer(decomposed[2]), decomposed[2])
layerName = fileNameNoExt[0] + "_RGBA_Blue"
pdb.gimp_item_set_name(layerB, layerName)
pdb.gimp_image_insert_layer(decomposed[2], layerB, None, 2)
gimp.message("Setting up Alpha Layer")
layerA = pdb.gimp_layer_new_from_drawable(pdb.gimp_image_get_active_layer(decomposed[3]), decomposed[3])
layerName = fileNameNoExt[0] + "_RGBA_Alpha"
pdb.gimp_item_set_name(layerA, layerName)
pdb.gimp_image_insert_layer(decomposed[3], layerA, None, 3)
gimp.message("Creating Layer Mask")
channelB = pdb.gimp_layer_create_mask(layerB, 1)
channelA = pdb.gimp_layer_create_mask(layerA, 1)
gimp.message("Inserting Channels to Decomposed Images")
pdb.gimp_image_insert_channel(decomposed[2], channelB, None, 0)
pdb.gimp_image_insert_channel(decomposed[3], channelA, None, 0)
# Now compose the new image into the target export image
gimp.message("Starting Compose Step for Output")
OutImage = pdb.plug_in_compose(decomposed[0], draw, decomposed[1], decomposed[2], decomposed[3], "RGBA")
gimp.message("Done with Composing Output")
However, when I run this script, I see that my output image is the exact same as the input. This means that the 255 masks are not being applied to the output composed image.
Is the approach I am using correct here? How should I be applying the 255 Mask Value to the B and A channels similar to the settings available for the Compose option in the UI?
Any advice here would be much appreciated.
|
|
|
|