Welcome, Guest |
You have to register before you can post on our site.
|
Forum Statistics |
» Members: 4,780
» Latest member: Fennec72
» Forum threads: 7,594
» Forum posts: 41,394
Full Statistics
|
Latest Threads |
Is there any version wher...
Forum: Older Gimp versions (2.8, 2.6....)
Last Post: HavingTooMuchFun
6 hours ago
» Replies: 0
» Views: 93
|
How to make a watermark o...
Forum: General questions
Last Post: kyolim
Yesterday, 10:05 PM
» Replies: 5
» Views: 14,058
|
Linux command that does e...
Forum: Other graphics software
Last Post: rich2005
Yesterday, 06:06 PM
» Replies: 1
» Views: 380
|
reliable Gimp 2.10.38 dow...
Forum: Older Gimp versions (2.8, 2.6....)
Last Post: denzjos
Yesterday, 05:20 PM
» Replies: 2
» Views: 308
|
Batch Color Saturation
Forum: Extending the GIMP
Last Post: rich2005
Yesterday, 07:53 AM
» Replies: 15
» Views: 11,944
|
Photo play-time
Forum: Gallery
Last Post: Ofnuts
Yesterday, 07:32 AM
» Replies: 24
» Views: 21,788
|
BIMP plugin for GIMP 3.10
Forum: Extending the GIMP
Last Post: firefly
09-12-2025, 11:53 PM
» Replies: 2
» Views: 658
|
pl_stroke_arrows GIMP 3.0...
Forum: Extending the GIMP
Last Post: Scallact
09-12-2025, 04:03 PM
» Replies: 0
» Views: 314
|
How do you make text circ...
Forum: General questions
Last Post: rich2005
09-12-2025, 07:18 AM
» Replies: 12
» Views: 3,409
|
New Install, Black Screen...
Forum: OSX
Last Post: akhrameev
09-11-2025, 02:32 PM
» Replies: 3
» Views: 3,069
|
|
|
GIMP and Select by color |
Posted by: Alex.Den - 11-17-2021, 09:55 AM - Forum: OSX
- Replies (2)
|
 |
Dear GIMP user under MACOS Big Sur
Could you tell me please if exists GIMP version(s) where is the Tool "Select by color" does exact what does it should (yes, and successfully starts under Big Sur 11.6 of course)?
In general, it is problem with GIMP under Big Sur or it is problem of Big Sur at all?
P.S. It "works"... When mouse button is pressed selected area exist (with pink color) but when button released selection disappear.
P.P.S. Selection by color is my favorite and most useful tool.
P.P.P.S. By the way, 2.10.28 under Windows 10 works fine. At least, this tool. I have to use Windows
|
|
|
Aligning a pattern or texture from a line? |
Posted by: eepjr24 - 11-15-2021, 03:47 PM - Forum: General questions
- Replies (7)
|
 |
Not mad at GIMP, the forum just ate my earlier post. lol. Probably too many image examples. I will try to be more concise.
Found this post: https://www.gimp-forum.net/Thread-Roofto...p-building
Rich made a video on that one that was excellent and just wanted to shout out to Rich for doing these, they are a life saver.
So I build maps, different kinds depending on needs for gaming. At the moment, I am looking to texture, pattern or stamp buildings for about 70 cities. These were generated using the Watabou generator and thus the angles of the buildings can be quite varied. I am looking for a way to align the rooftop patterns to the angles of the roof, essentially, in a quick manner. Here is an example city:
Here are some examples I have done, which work because I played with each of them for 10-15 minutes to figure out a pattern that worked with the angle of the building. I am using filters to apply the textures right now because of speed, but I would ideally like to use real pattern images or a brush.
Hopefully I have been clear on what I am trying to do, but in summary I'd like to find an easy way to apply textures to roughly rectangular areas that align to the angle of the rectangle, rather than to the X-Y axis of the image.
Thanks for any thoughts.
- E
|
|
|
Struggling with Gimp Issues |
Posted by: andrew48 - 11-15-2021, 01:35 AM - Forum: Windows
- Replies (1)
|
 |
I recently installed the most recent version of GIMP on a new computer (HP Envy 360 15 with AMD Ryzen 7) with Windows 11 on it. I've been having some trouble with it. When I try to ctrl-scroll to zoom in and out, it doesn't work sometimes. It doesn't show me where the mouse is when I ctrl-click with the paint brush sometimes. I have to click some things several times for them to work sometimes (it's like it knows that the mouse is there and where it is, but doesn't know that clicking is an option). I've tried uninstalling and reinstalling. I've also tried installing an earlier version of GIMP. I've tried another mouse (even using the trackpad) and these issues still persist. Does anyone have any ideas that could help me with this? Thanks.
|
|
|
Setting text on multiple layers issue |
Posted by: FloppaDisk - 11-12-2021, 06:52 PM - Forum: Scripting questions
- Replies (3)
|
 |
Hellois.
I'm on a mission to make an 'text atlass or sprite' ish plugin which will make the number of input characters to the power of two; combination 'sprite image'.
At the moment the code can generate one image atlass with n combinations. As a image has a limited combination spaces it will later add images as needed to make all the combinations over multiple images. But first i must understand how to set text which i hope someone would help out with.
What im struggling with is applying text. Im not able to set text on multiple layers. No matter what i do it seems like the ..WriteToCanvas() funciton only sets text to the original background layer. I'm unable to make a new layer and apply text to it.
The function ..SetAndAnchorText() is where you would modify the code to help me out if possible, or give me some good pointer as i'm been struggling for a few days to many. 
Starting point:
The code works and can produce an image so you can see what i mean by atlass/sprite. Create a new 256x256 RGB_Image and run the plugin to se results. Then make a new same image and add the letter i to the end of .."Text for atlass" of the plugin. The expected result should be a whole image with text combinations in stride of two and the second should be roughly half the image with text. At the moment the code creates and error instead.
Code:
#!/usr/bin/env python
from gimpfu import *
from math import *
from time import sleep
def WriteToCanvas(image, drawable, x, y, text):
return pdb.gimp_text_fontname(
image, # IMAGE image The image
drawable, # DRAWABLE drawable The affected drawable: (-1 for a new text layer)
x, # FLOAT x The x coordinate for the left of the text bounding box
y, # FLOAT y The y coordinate for the top of the text bounding box
text, # STRING text The text to generate
-1, # INT32 border The size of the border: -1 <= border
False, # INT32 antialias Antialiasing (TRUE or FALSE)
26, # FLOAT size The size of text in either pixels or points
0, # INT32 size_type The units of specified size: PIXELS (0) or POINTS (1)
'Monospace') # STRING fontname The fontname (conforming to the X Logical Font Description Conventions)
# returns stride of 3 for characters that use kerning
def FindKerning(src):
kerning = []
idx1 = idx2 = 0
while ~idx1:
idx1 = SearchSrc(src, '(', idx2)
idx2 = SearchSrc(src, ')', idx1)
if idx1 < idx2 and abs(idx1-idx2) != 1:
kerning += [src[idx1-1]] + src[idx1+1:idx2].split(',')
src = src.replace(src[idx1:idx2+1], '', 1)
idx1 = idx2 = 0
return kerning + [src]
# return index for for instance of ..test in ..src at interval ..stride
def SearchSrc(src, test, after=0, stride=0):
x = 0
if not ~after:
return -1
if stride <= 0:
stride = 1
if after > 0:
x += after
while x < len(src):
if src[x] == test:
return x
x += stride
return -1
# ab(-1,0)cdef(-1,0)ghijk(-1,0)lmnop(-1,0)qr(-1,0)stuvwxyz01(-1,0)23456789!"#%&/()=?\*<>-_,.:;~@${}
def SetAndAnchorText(image, drawable, text, newLayer):
# sleep(3)
pdb.gimp_message(str('Ono line: \n')+str(text))
textLayer = WriteToCanvas(image, drawable, 0, 0, text)
# image.add_layer(textLayer, len(image.layers))
layer = pdb.gimp_image_merge_visible_layers(image, 1)
drawable.visible = False
if newLayer:
newLayer = gimp.Layer(image, "Background", image.width, image.height, RGB_IMAGE, 100, 3)
image.add_layer(newLayer, 0)
image.active_layer = image.layers[0]
# pdb.gimp_drawable_edit_bucket_fill(newLayer, 1, 1, 1)
# newLayer.update(0, 0, drawable.width, drawable.height)
# pdb.gimp_drawable_get_name(item)
def textAtlas(image, drawable, NotUsed, text_var, boolean_var, colorText, colorBackground, radio_var):
# ab(-1,0)cde(2,-4)fg(3,1)h
pdb.gimp_message(str('~~~~~~~~~~~~~~~~~~~~'))
kerningParams = FindKerning(text_var) # stride of 3 for chars that use kerning
text_var = kerningParams[-1] # will always be plain ..text_var
del kerningParams[-1] # remove ..text_var
# pdb.gimp_message(str('text_var: ')+str(text_var))
# pdb.gimp_message(str('kerning: ')+str(kerningParams))
# return
pdb.gimp_context_set_foreground(colorText)
pdb.gimp_context_set_background(colorBackground)
rowNumber = drawable.width/32
gridNumber = rowNumber * (drawable.height/32)
number = int(pow(len(text_var), 2))
length = len(text_var)
gimp.progress_init('The growing bar')
count = 0
wholeText = ''
tempText = ''
for char1 in text_var:
for char2 in text_var:
wholeText += char1+char2
tempText += char1+char2
count += 1
if count == gridNumber:
SetAndAnchorText(image, drawable, tempText, not text_var[-1] == char1 == char2)
# apply, merge and adjust for kerning here
tempText = ''
count = 0
if not count%rowNumber and count:
tempText += '\n'
if count:
SetAndAnchorText(image, drawable, tempText, False)
pdb.gimp_message(str('Done'))
# abcdefghijklmnopqrstuvwxyz
# ab(-1,0)cdef(-1,0)ghijk(-1,0)lmnop(-1,0)qr(-1,0)stuvwxyz01(-1,0)23456789
# ab(-1,0)cdef(-1,0)ghijk(-1,0)lmnop(-1,0)qr(-1,0)stuvwxyz01(-1,0)23456789!"#%&/()=?\*<>-_,.:;~@${}
register(
"python-fu-textAtlas",
"Make text paired utf-8'ish atlas",
"Generate an grid with n pared two character, number and/or symbol into an atlas/sprite",
"Drop Woodland", "https://github.com/TeaWave", "2021",
"Make text atlas...",
"", # type of image it works on (*, RGB, RGB*, RGBA, GRAY etc...)
[
(PF_IMAGE, "image", "takes current image", None),
(PF_DRAWABLE, "drawable", "Input layer", None),
(PF_INT8, "NotUsed", "Colors", 8),
(PF_TEXT, "text_var", "Text for atlas", "ab(-1,0)cde(2,-4)fg(3,1)h"),
(PF_BOOL, "boolean_var", "boolean name", True),
(PF_COLOR, "colorText", "Text color", (0.541, 0.831, 0.235, 1.0)),
(PF_COLOR, "colorBackground", "Background color", (0.298, 0.361, 0.576, 1.0)),
(PF_RADIO, "radio_var", "radio", "scale",
(
("Scale to fit", "scale"),
("Fill to fit", "fill")
)
)
],
[],
textAtlas, menu="<Image>/Extra") # second item is menu location
main()
|
|
|
|