Re: [Gimp-developer] Thin lines using pencil
Hi, [EMAIL PROTECTED] (Carsten Hammer) writes: I think there are more such obvious bugs that are revealed in special cases. here is what you should do about this: - file a bug-report on bugzilla.gnome.org so your report won't get lost - send a patch that fixes the problem Salut, Sven ___ Gimp-developer mailing list [EMAIL PROTECTED] http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer
Re: [Gimp-developer] Thin lines using pencil
Jay Cox wrote: Thanks for the report. I'm shocked that it has taken this long for someone to complain about this. I think there are more such obvious bugs that are revealed in special cases. Just think of the downscale bug I reported a very long time ago. I have some (monochrome,huge) pictures that dont show anything if gimp scales them down. Some of these pictures have only every 2,3,4,.. pixel set. The simple gimp scale down algorithm is not suited for this. It has never been fixed and I dont have a 3000x2000 pixel screen to work on this pictures. I *have* to scale down and gimp is not really usable on these kind of pictures. And if you then try to work through a slow connection between your Xserver and the application server you find that everything is slower than it should be (because gimp does not work really on monochrome pictures? It seems it always throws color images to the Xserver..). It seems xv is faster in this case, maybe it does a smarter decision on how many colors it needs on the server. Perhaps one day we even have these problems fixed..:) ciao Carsten PS: Because I am no member of this mailing list please write to my email adress if you want to answer.Thanks, Keep on the good work! ___ Gimp-developer mailing list [EMAIL PROTECTED] http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer
Re: [Gimp-developer] Thin lines using pencil
Sven Neumann wrote: Hi, Grzegorz Borowiak [EMAIL PROTECTED] writes: There could be problem if brush size is big and line has to be half-transparent. E.g. brush radius is 10 and intensity is 0.5. There would be 1-pixel-close overlapping brush hits, whose intensities would accumulate. But this problem can easily be compensated if we use more sophiscated tool_t function, which would reasonably decrease its intensity (simply dividing nominal intensity by radius size and then by sine/cosine value of line angle) for all pixels except two ends, and these two ends would be painted with full nominal intensity, but only half of brush would be painted (this half which does not overlap with any mid-line brush hit). I don't think this would work well. Instead I'd suggest to draw the brush totally opaque to intermediate tiles, then blend these with the choosen brush opacity onto the drawable. Might be more memory-intensive but should give perfect results. On the other hand it would diverge a lot from what happens if you draw a line by hand. Would it make sense to consider a line-drawing tool? I think it would be especially useful to stroke selections and paths. Our current approaches to stamp the brush at equidistant positions along the outline does not give pleasant results and all attempts to improve this will most probably only mess up the (already weird) code. I agree. Such a line-drawing tool wouldn't work with brushes but would have configurable line-width and cap settings. I might be wrong, but I think the ink tool might be suited reasonably good for proper line drawing. If it would have support for drawing straight lines using the Shift key, we could test it and this should be easy to implement. For single pixel lines I think we should really go with a bresenham type solution. The antialiasing on the ink tools looks visually a little off to me. not how easy it would be to fix that. I have a design in mind for an AA bresenham line drawing function that supports wide lines with end caps, mitred corners and customizable tip profile shapes but I doubt I'll ever have time to code it up. Jay Cox [EMAIL PROTECTED] ___ Gimp-developer mailing list [EMAIL PROTECTED] http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer
Re: [Gimp-developer] Thin lines using pencil
Hi Jay, Jay Cox [EMAIL PROTECTED] writes: I have commited a fix for this bug to the 1.2 branch in CVS. will you fix this in the HEAD branch too? The code is now in app/tools/gimppainttool.c. Salut, Sven ___ Gimp-developer mailing list [EMAIL PROTECTED] http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer
[Gimp-developer] Thin lines using pencil
I have a problem with drawing lines with pencil. Horizontal and vertical lines are OK, but slash lines are too thick. In zoom, they look like: ### ### ## ### ### ## ### ### and IMO they should look like: ## ## # ## ## # ## ## In other words: line goes like rook in chess, but should go like queen. Why? And how to force it to go like queen? Preview lines for measure tool and for line draw are queen-like, so why actually drawn line is rook-like? In addition, Photoshop draws queen-like lines when set to non-antialiased. I have asked this question on gimp-user, but I haven't got solution. Please, help me! _ Grzes \___|___/ [EMAIL PROTECTED] (_) http://gnu.univ.gda.pl/~grzes/ 'Nam chodzi o odglos paszczowo.' 'Patataj patataj patata...' annoy echelon fbi militia bomb action president mossad delta force militia action anthrax operation fbi codes top secret /annoy echelon ___ Gimp-developer mailing list [EMAIL PROTECTED] http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer
Re: [Gimp-developer] Thin lines using pencil
On Wed, 29 Aug 2001, Simon Budig wrote: Please note, that these problems are already solved in the Gimps Paintcore. When you draw a line with the Paintbrush you will see that it is perfectly antialiased and the accumulating color problem is solved too (you can even disable this in the tool options). In fact it is this generality that creates the problems with the Pencil... Yes, paintbrush lines work well. But with my approach, I suppose both paintbrush and pencil lines would work well. Or maybe as extraordinary exception for pencils use just Bresenham? It will less general, but much neater. And implementing Bresenham is extremely simple to do. How do you all feel about it? Is it a good idea, or not? I think you will be more able to implement it and insert in proper place in GIMP's source. If would use a lot of time to analyze sources (in fact, I would have to learn how to use GIMP sources and thouroughly study it) and find this proper place, and although this I would however have doubts if this is correct place and if it does not conflict with GIMP's internal architecture, assumptions and whatever. These deep gimp internals are quite powerful and compicated. I have not yet a full clue what happens there, but it involves a lot of Subsampling, filling an area with color/patterns/brush data, mask the area with the brush mask and finally apply the result to the drawable, respecting the current selection and the current paint mode. And I guess that even this is simplified... :-) What is done when I click with pencil on image? Those complex actions are performed, and a dot is a result. What's a problem with implementing my tool_t function as just triggering all those actions on certain pixel? This certainly won't make it into the 1.2-versions of Gimp. However, I think we should attack the problem in CVS-HEAD. But please be aware, that there is *much* work to do until a first 1.3.0 release happens. :-( IMHO ugly pencil lines are a major drawback of GIMP... _ Grzes \___|___/ [EMAIL PROTECTED] (_) http://gnu.univ.gda.pl/~grzes/ 'Nam chodzi o odglos paszczowo.' 'Patataj patataj patata...' annoy echelon fbi militia bomb action president mossad delta force militia action anthrax operation fbi codes top secret /annoy echelon ___ Gimp-developer mailing list [EMAIL PROTECTED] http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer
Re: [Gimp-developer] Thin lines using pencil
Hi, Grzegorz Borowiak [EMAIL PROTECTED] writes: Thank You guys. It seems drawing a good thin non-antialiased line is so foar not implemented, I hope it will be. I could do it, but it would take a long time for me to understand code and the whole conception of GIMP. right now pencil and paintbrush are exactly the same tool with the slight difference that the paintbrush calls gimp_paint_tool_paste_canvas() with BrushApplicationMode == SOFT (or PRESSURE for pressure-sensitive painting) while the pencil uses HARD here. This leads to different ways how the brush_mask is prepared. For SOFT mode the brush mask is subsampled to the brush position using a 5x5 subsampling kernel while HARD mode solidifies the brush by setting all pixels to full opacity that are non-NULL in the brush pixmap. The relevant code for painting can be found in app/tools/gimppainttool.c. There could be problem if brush size is big and line has to be half-transparent. E.g. brush radius is 10 and intensity is 0.5. There would be 1-pixel-close overlapping brush hits, whose intensities would accumulate. But this problem can easily be compensated if we use more sophiscated tool_t function, which would reasonably decrease its intensity (simply dividing nominal intensity by radius size and then by sine/cosine value of line angle) for all pixels except two ends, and these two ends would be painted with full nominal intensity, but only half of brush would be painted (this half which does not overlap with any mid-line brush hit). I don't think this would work well. Instead I'd suggest to draw the brush totally opaque to intermediate tiles, then blend these with the choosen brush opacity onto the drawable. Might be more memory-intensive but should give perfect results. On the other hand it would diverge a lot from what happens if you draw a line by hand. Would it make sense to consider a line-drawing tool? I think it would be especially useful to stroke selections and paths. Our current approaches to stamp the brush at equidistant positions along the outline does not give pleasant results and all attempts to improve this will most probably only mess up the (already weird) code. Such a line-drawing tool wouldn't work with brushes but would have configurable line-width and cap settings. I might be wrong, but I think the ink tool might be suited reasonably good for proper line drawing. If it would have support for drawing straight lines using the Shift key, we could test it and this should be easy to implement. Salut, Sven ___ Gimp-developer mailing list [EMAIL PROTECTED] http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer
Re: [Gimp-developer] Thin lines using pencil
Grzegorz Borowiak ([EMAIL PROTECTED]) wrote: On Wed, 29 Aug 2001, Simon Budig wrote: Please note, that these problems are already solved in the Gimps Paintcore. When you draw a line with the Paintbrush you will see that it is perfectly antialiased and the accumulating color problem is solved too (you can even disable this in the tool options). In fact it is this generality that creates the problems with the Pencil... Yes, paintbrush lines work well. But with my approach, I suppose both paintbrush and pencil lines would work well. Or maybe as extraordinary exception for pencils use just Bresenham? It will less general, but much neater. And implementing Bresenham is extremely simple to do. As I said: I am not too familiar with the paintcore. I don't know how easy it is to remove all subsampling magic - maybe it is as easy as feeding a new set of coordinates to the paintcore. What is done when I click with pencil on image? Those complex actions are performed, and a dot is a result. What's a problem with implementing my tool_t function as just triggering all those actions on certain pixel? The Pencil is a brush based tool (try selecting another brush and you will see the difference). So it is not simply a dot as a result. It is basically the same as the paintbrush, but with a different interpretation of the mask of a brush. So implementing your scheme will break the way the paintbrush works. I think it is *way* easier to just change the way how the coordinates for the pencil are computed. This certainly won't make it into the 1.2-versions of Gimp. However, I think we should attack the problem in CVS-HEAD. But please be aware, that there is *much* work to do until a first 1.3.0 release happens. :-( IMHO ugly pencil lines are a major drawback of GIMP... I agree with you there, but we have to be very careful to determine, what is worthy enough to enter the stable series, since there already is lots of printed documentation. Changing some fundamental interna of a tool might also introduce bugs. It may be worth a try, but I doubt that this will be done in 1.2. Sorry if this sounds disappointing, but it would have been easier to introduce this if you had asked for this a year ago (or so)... Bye, Simon -- [EMAIL PROTECTED] http://www.home.unix-ag.org/simon/ ___ Gimp-developer mailing list [EMAIL PROTECTED] http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer
Re: [Gimp-developer] Thin lines using pencil
On 29 Aug 2001, at 13:55, Branko Collin wrote: [...] Think before you post, I cannot say that enough to myself. The reported 'problem' of course only happens if you use a brush that gets more transparent to its outside than in its center. It may not be solvable (and a solution might introduce other problems). Still, I think it is odd that a mostly round brush should generate different results depending on the angle of the two connected lines. Maybe it is just a matter of redefining those brushes? -- branko collin [EMAIL PROTECTED] ___ Gimp-developer mailing list [EMAIL PROTECTED] http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer
Re: [Gimp-developer] Thin lines using pencil
On 29 Aug 2001, Sven Neumann wrote: and IMO they should look like: ## ## # ## ## # ## ## IMO what they should look like is: # # # # # # # essentally what we do when drawing lines is we move the brush along the line and draw points in equal distances. If the point does not fall exactly on the pixel grid, it gets wider. This is bad and thin lines drawn with the pencil really look akward. A possible solution would be to implement the pencil tool totally different from the paintbrush. Instead of drawing brush pixmaps onto the canvas at equidistant spots along the line as the paintbrush does, the pencil tool could use a real line-drawing algorithm (Bresenham). This would imply that our brushes couldn't be used with the pencil tool any longer since this algorithm would only work for rounded or square pencil tips (or am I wrong here?). The problem with the 'placing overlapping brush pixmaps' approach is only really obvious at very narrow line widths. IMHO, the pencil tool should be left alone for consistancies' sake and there should be a new tool to deal with the very special case of drawing single-pixel-wide hard-edged lines. This hypothetical gadget could use Bresenham's algorithm or something like that because it wouldn't *NEED* to deal with pixmaps and need only hit pixels dead-on. I really like this idea since the old functionality of the pencil tool could be easily implemented in the paintbrush (all we'd have to do is to add a Hard edge option like the Eraser has) and having a real line-drawing tool would be a major benefit. Yes. That would work. Steve Baker (817)619-2657 (Vox/Vox-Mail) L3Com/Link Simulation Training (817)619-2466 (Fax) Work: [EMAIL PROTECTED] http://www.link.com Home: [EMAIL PROTECTED] http://web2.airmail.net/sjbaker1 ___ Gimp-developer mailing list [EMAIL PROTECTED] http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer
Re: [Gimp-developer] Thin lines using pencil
IMHO, the pencil tool should be left alone for consistancies' sake and there should be a new tool to deal with the very special case of drawing single-pixel-wide hard-edged lines. This hypothetical gadget could use Bresenham's algorithm or something like that because it wouldn't *NEED* to deal with pixmaps and need only hit pixels dead-on. I really like this idea since the old functionality of the pencil tool could be easily implemented in the paintbrush (all we'd have to do is to add a Hard edge option like the Eraser has) and having a real line-drawing tool would be a major benefit. Yes. That would work. If you make a new line tool, which would be awesome by itself, it would also eliminate the repetitive stupid questions on gimp-user and #gimp about how do i draw a straight line AARGH! ___ Gimp-developer mailing list [EMAIL PROTECTED] http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer
Re: [Gimp-developer] Thin lines using pencil
Branko Collin wrote: If I draw several connected lines with the paint brush, the joints aren't always perfect. For instance, instead of: *** *** ** * you get: *** *** * *** ** *** * (exagerated for clarity) I don't think it is that big of a problem, because you would probably use the paintbrush more in photo like drawings than in line drawings, but maybe I am wrong about that, and this seemed a good place to mention this behaviour anyway. (Feel free to mention it is a 'feature'.) :-) Thanks for the report. I'm shocked that it has taken this long for someone to complain about this. I have commited a fix for this bug to the 1.2 branch in CVS. Jay Cox [EMAIL PROTECTED] ___ Gimp-developer mailing list [EMAIL PROTECTED] http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer