Re: [Gimp-developer] Thin lines using pencil

2001-09-02 Thread Sven Neumann

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

2001-09-01 Thread Carsten Hammer

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

2001-08-30 Thread Sven Neumann

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



Re: [Gimp-developer] Thin lines using pencil

2001-08-30 Thread Jay Cox

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

2001-08-29 Thread Jay Cox

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



Re: [Gimp-developer] Thin lines using pencil

2001-08-29 Thread Rebecca J. Walter


> 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

2001-08-29 Thread Stephen J Baker

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

2001-08-29 Thread Branko Collin

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

2001-08-29 Thread Simon Budig

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

2001-08-29 Thread Branko Collin

On 29 Aug 2001, at 11:41, Sven Neumann wrote:
> Grzegorz Borowiak <[EMAIL PROTECTED]> writes:
> 
> > 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:
> > 
> > ##
> >   ##
> > #
> >  ##
> 
> IMO what they should look like is:
> 
>  #
>   #
>#
> #
> 
> essentially 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. 

There's a similar problem with the paint brush:

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'.) :-)

The 'problem' is twofold: one, the behaviour may not be as expected, 
and two (the bigger problem IMHO), the behaviour is not consistent: 
depending on the angle of the two connected lines, you get a clean 
connection or a fairly break.

HTH,

-- 
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

2001-08-29 Thread Sven Neumann

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

2001-08-29 Thread Grzegorz Borowiak

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...'

 fbi militia bomb action president mossad delta force
militia action anthrax operation fbi codes top secret 

___
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer



Re: [Gimp-developer] Thin lines using pencil

2001-08-29 Thread Simon Budig

Grzegorz Borowiak ([EMAIL PROTECTED]) wrote:
> 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. By
> now, I have the following idea to do it:

[Pseudocode snipped]

> As you see, it's universal, and would draw line with any tool, if this
> tool is correctly implemented to handle non-integer coordinates.
> 
> 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).

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...

> 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...  :-)

> If you have a bit of time to do it, do it. If no, tell me, I will however
> try to do it for myself and I will send you results of my work, and I hope
> this will be useful for you and will not make incompatibility forks.

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.

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

2001-08-29 Thread Grzegorz Borowiak

On Wed, 29 Aug 2001, Simon Budig wrote:

> Sven Neumann ([EMAIL PROTECTED]) wrote:
> > 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?).
> 
> I think you are wrong there  :-)
> 
> You could calculate the intermediate points with Bresenham and then
> place the brushes on these points only (or a subset, according to the
> spacing). So the Pencil would place the brushes always at integer
> positions which results in perfect lines for 1-pixel brushes and
> usable lines with ornamental brushes.
> 
> So if we have a 10-pixel wide brush with a spacing of 50 you could
> place it on every fifth pixel of the bresenham-calculated coordinates.
> 
> Does this sound good?

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. By
now, I have the following idea to do it:

[c-like pseudocode]

typedef int (*tool_t)(double x, double y, double intensity, ...);
/* uses tool on x,y
for pencil: puts a single pixel, the nearest to (x,y)
i.e. at ( (int)(x+0.5), (int)(y+0.5) )
e.g. for (26.25,123.75) it's (26,124)
for paintbrush: alters four pixel nearest to x,y, with intensity
negative-correlated to distance from (x,y)
i.e. altered are pixels: 
((int)x,(int)y) with intensity (1-fx)*(1-fy)*intensity
((int)x+1,(int)y) with intensity fx*(1-fy)*intensity
((int)x,(int)y+1) with intensity (1-fx)*fy*intensity
((int)x+1,(int)y+1) with intensity fx*fy*intensity
where fx=x-(int)x, fy=y-(int)y
(these are fractional parts of x,y)
(for paintbrush, if intensity>1.0, more adjacent pixels may be
altered)
*/

void draw_slash_line_using_a_tool(int x1, int y1, int x2, int y2, tool_t
tool, double intensity, ...)
{
  assume: x1!=x2, y1!=y2 (in these cases line is not slash)
  assume: x1=y2-y1 (all other seven possible cases are
convertible to this by reasonable replacing +/-, x/y, 1/2)
  int dx=x2-x1;
  int dy=y2-y1;
  int x;
  for (x=x1; x<=x2; x++) {
tool(x,y1+x*((double)dy/dx),intensity,...);
  }
  /* x2-x1+1 tool hits, all of them with integer x values and
not-necessarily-integer y values, lying along line,
more precisely on crosings of line and "meridians" of grid */
}

As you see, it's universal, and would draw line with any tool, if this
tool is correctly implemented to handle non-integer coordinates.

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).

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.

So please: 

If you have a bit of time to do it, do it. If no, tell me, I will however
try to do it for myself and I will send you results of my work, and I hope
this will be useful for you and will not make incompatibility forks.

Sorry for my bad english.


 _
Grzes  \___|___/
[EMAIL PROTECTED] (_)
http://gnu.univ.gda.pl/~grzes/
'Nam chodzi o odglos paszczowo.'  'Patataj patataj patata...'

 fbi militia bomb action president mossad delta force
militia action anthrax operation fbi codes top secret 


___
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer



Re: [Gimp-developer] Thin lines using pencil

2001-08-29 Thread Simon Budig

Sven Neumann ([EMAIL PROTECTED]) wrote:
> 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?).

I think you are wrong there  :-)

You could calculate the intermediate points with Bresenham and then
place the brushes on these points only (or a subset, according to the
spacing). So the Pencil would place the brushes always at integer
positions which results in perfect lines for 1-pixel brushes and
usable lines with ornamental brushes.

So if we have a 10-pixel wide brush with a spacing of 50 you could
place it on every fifth pixel of the bresenham-calculated coordinates.

Does this sound good?

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

2001-08-29 Thread Sven Neumann

Hi,

Grzegorz Borowiak <[EMAIL PROTECTED]> writes:

> 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:
> 
> ##
>   ##
> #
>  ##
>##
>  #
>   ##
> ##
>

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?). 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. Any volunteers to implement such a beast?


Salut, Sven
___
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer



[Gimp-developer] Thin lines using pencil

2001-08-29 Thread Grzegorz Borowiak

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...'

 fbi militia bomb action president mossad delta force
militia action anthrax operation fbi codes top secret 

___
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer