After a MS windows 10 update, my MS Office XP no longer works (on startup, the acces the screen appears and then disappears) . I often make backups, after installing my last backup, I could start Office XP again and could export the data. I used the access database since 1996 and I want to import the data in LibreOffice Base. As I started with gimp a few years ago and first did'n like it (now, after learning it, I do like it). Using LibreOffice, I found it very basic and did'n like it : it's like I was in the boiler room. After reading several sollutions and tested them out, I could import my data in Libreoffice Base (after export access---> dbase4). A few lines were not imported, but I inserted them by hand. Now I had to learn how to use tabels / query's / forms and rapports. Hard to do when be microsoft brainwashed, but I persevered. After a few solutions that ended in the dust bin, I felt my brain learned to think the Libreoffice way. Now, my database is working fine and MS Office landed in the dust bin (because it died again today) . OO software isn't bad at all (and it's free). That's why I post this in the watercooler, again on normal temparture.
Hi all, I'm looking to put a "scale" on an image. It's actually a map that I'm cropping a region from. So, I need to be able to draw a straight line on the full size original, between two known points, and divide that into a specific number of subdivisions (e.g. miles, but more likely minutes of lat/long in my situation).
Ideally, the result would put "tick marks", or "notches" along the line, in the manner of a graph scale, but as long as the points are identifiable I could do that by hand.
After all that, I would then crop the image, leaving some part of the line in the crop to act as the new scale.
which I think I could make work, but I suspect it's unnecessarily complex, since the target of "equal division" is an arbitrary path. I'm hoping there's a better/simpler/faster approach for the straight line situation?
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!