I'm using Gimp for the first time.
I would like to change the size and the resolution of my image.
So I open the image, I select 'image scale and size' . there I can choose the width, the height and the resolution(72ppi), which is for me the quality of the jpeg, then I clic on 'scalling' .
After that I clic on 'export under' then 'export' and there a new window propose me to choice a quality between 0 to 100.
What is the différence between the resolution (72ppi for the web) and the quality 0 to 100 ?
I'm using my wacom bamboo tablet, and I can't get the paintbrush tool to respond to the pen's pressure.
I recall on my old computer, I had to actually open GIMP with the pen or else it wouldn't recognize the pen apart from the mouse, for some reason. But I tried that here and it didn't make a difference.
I tested with microsoft whiteboard and it is responding to the pressure in my pen, but GIMP is not.
Hi there,
I made this script that translates every text layer of the layer group selected, or the text layer selected.
As you can see at lines 50 to 54, I had to skip the text layers witches text are None because it generated an error and interrupted the script. But I don't understand why some of my text layers return the None value when I ask them their text. All those text layers have a text. Any clue anyone ?
Code:
# lines 50 to 54
# Vérifier si le texte n'est pas de type NoneType
if text is not None:
# Traduire le texte en utilisant la bibliothèque translate
translated_text = translator.translate(text)
else:
translated_text = "ERREUR TEXTE NON TRADUIT\n{}".format(text)
Another question I have is about the libraries I had to include. I added them directly next to the .py that needed them and it works. But I guess it is not the elegant way of doing so. If I do another script needing the same libraries, I would have to include them once more. Is there a way to include libraries in the gimp specific python installation ?
the dependencies are as followed :
traducion.py (my script) needs translate
translate.py needs providers
providers/mymemory_translated.py needs requests
the main script is :
Code:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from gimpfu import *
from translate import Translator
# Recuperation du groupe de calques selectionne
group = pdb.gimp_image_get_active_layer(image)
# Récupération du groupe de calques "text-fr" s'il existe
group_text = None
for layer in image.layers:
if pdb.gimp_item_is_group(layer) and pdb.gimp_item_get_name(layer) == "text-fr":
group_text = layer
break
if group_text is None:
# Créer un groupe de calques nommé "text-fr" s'il n'existe pas
group_text = pdb.gimp_layer_group_new(image)
pdb.gimp_item_set_name(group_text, "text-fr")
pdb.gimp_image_insert_layer(image, group_text, None, 0)
if pdb.gimp_item_is_group(group):
print("----------layer is group-------------")
# Creer un groupe de calques nommé "text-fr"
group_text = pdb.gimp_layer_group_new(image)
pdb.gimp_item_set_name(group_text, "text-fr")
pdb.gimp_image_insert_layer(image, group_text, None, 0)
# Parcours de tous les calques du groupe
for layer in group.layers:
# Vérification si le calque est de type texte
if pdb.gimp_item_is_text_layer(layer):
# Dupliquer le calque
duplicate = pdb.gimp_layer_copy(layer, True)
# Ajouter le calque duplique au groupe "text-fr"
pdb.gimp_image_insert_layer(image, duplicate, group_text, 0)
# Récupérer le contenu texte du calque dupliqué
text = pdb.gimp_text_layer_get_text(duplicate)
# Vérifier si le texte n'est pas de type NoneType
if text is not None:
# Traduire le texte en utilisant la bibliothèque translate
translated_text = translator.translate(text)
else:
translated_text = "ERREUR TEXTE NON TRADUIT\n{}".format(text)
# Mettre à jour le texte du calque dupliqué avec la traduction
pdb.gimp_text_layer_set_text(duplicate, translated_text)
# Actualisation de l'affichage de l'image
pdb.gimp_displays_flush()
elif pdb.gimp_item_is_text_layer(group):
print("----------layer is text-------------")
# Si le calque sélectionné est un calque de texte
# Dupliquer le calque
duplicate = pdb.gimp_layer_copy(group, True)
# Ajouter le calque duplique au groupe "text-fr"
pdb.gimp_image_insert_layer(image, duplicate, group_text, 0)
# Récupérer le contenu texte du calque dupliqué
text = pdb.gimp_text_layer_get_text(duplicate)
# Traduire le texte en utilisant la bibliothèque translate
translated_text = translator.translate(text)
# Mettre à jour le texte du calque dupliqué avec la traduction
pdb.gimp_text_layer_set_text(duplicate, translated_text)
else:
print("--------Veuillez sélectionner un groupe de calques ou un calque de texte.----")
gimp.message("Veuillez sélectionner un groupe de calques ou un calque de texte.")
register(
"python-fu-translate-text-layers",
"Translate text layers from French to English",
"Translate text layers from French to English",
"Your Name",
"Your Name",
"2023",
"<Image>/Filters/Language/Translate Text Layers",
"*",
[],
[],
translate_text_layers)
Hi all I'm wanting to blend 2 layers together for a heightmap (where the red lines I have drawn)
Also is there a way to get the magic wand to select an area kind of like where the red lines area If I were the merge the 2 layers together rather than draw it manually with the free select tool? thanks
Hello, I am attempting to make a script of mine more efficient. I am trying to replicate the output of using posterize with the color-erase blending option in python without leaning heavily on gimp. Below is showing how posterize can influence an image's appearance.
As you can see, this is what it looks like when I take the original photo, remove the alpha channel, and posterize. Below is one of the more interesting outcomes for the color-erase blending option when applied with the posterize tool.
The step, by step instructions to get this effect:
1. Open image
2. Remove alpha channel of image by right clicking in layer menu
3. Select posterize from the color dropdown menu in the main window
4. In the posterize menu, select the color-erase blending mode and put the slider anywhere between 3 and 254.
Here's how to programmatically achieve the effect with Python-fu for 2.10:
#Insert layer group with two layers inside
pdb.gimp_image_insert_layer(image,groupLayer, None, -1)
pdb.gimp_image_insert_layer(image, srcLayer, image.layers[0], -1)
pdb.gimp_image_insert_layer(image, eraseLayer, image.layers[0], -1)
#Posterize erase layer, then set paint mode to Color Erase
pdb.gimp_layer_set_mode(eraseLayer, 57)
pdb.gimp_drawable_posterize(eraseLayer, amount)
#transfer grouplayer alpha to new mask, then fill alpha with white
mask = pdb.gimp_layer_create_mask(groupLayer, 3)
pdb.gimp_layer_add_mask(groupLayer, mask)
pdb.gimp_drawable_edit_fill(mask, 2)
# Apply mask and merge group
pdb.gimp_image_merge_layer_group(image, image.layers[0])
pdb.gimp_layer_remove_mask(image.layers[0], 0)
I'm interested in anything from theorizing, to gimp source-code that can explain how I could replicate this effect. I am curious how it works. If you've made it this far, thank you for reading my post!
I manipulate a lot of images.
I find it time consuming to click eg.
filters-->blur-->Gaussian--> ok
then
Colors --> saturation --> Ok
then
filters-->enhance-->sharpen--> ok
then repeat the whole sequence for 1000+ images.
I prefer:
to be able to put Shortcut icons for predefined options in tools eg. Blur icon with predefined blurring.
to be able to group actions in new shortcut icons e.g blur-sharpen-saturation -> BSS shortcut icon.
In that way, the whole image processing will be speed up
I dont know if someone can make an addon for such thing.
It will be HUGE advantage of GIMP.