On Sun, 29 Apr 2007 07:30:42 +0200, Jasper Schalken  

> The bug report: http://bugzilla.gnome.org/show_bug.cgi?id=434279
> On 29/04/07, Jasper Schalken <[EMAIL PROTECTED]> wrote:
>> > You could have a look at the matrix convolution filter code. (Be  
>> warned
>> > there are some minor bugs concerning edge effects IIRC) but it will  
>> serve
>> > as an introduction to the different ways of treating edge data.
>> Is that "void convolve_region(...) {...}" in
>> /gimp/trunk/app/paint-funcs/paint-funcs.c?
>> It doesn't have many comments, so I'm not sure what its doing nor what
>> a convolution matrix is. I thought it would be along the lines of "for
>> each pixel in the region make it the average of all the pixels within
>> a certain radius". However, that gives a box blur and it may be
>> Gaussian instead.
>> I think I will just put this in a bug report and let someone who knows
>> have a look. :S
<title>500 Internal Server Error</title>
Looks like bugzilla is still in bed ;)

The filter I was refering to is in the following file:

The variable names should be explicit enough to make the code self  
documenting but if you dont know what convultion or convultion matrix is  
you may want to read up a bit. The implementation is not far from what you  
outlined above, so it's not as intimidating as it sounds.

The lanczos interpolation that was recently added works in a similar way  
with a larger matrix (and suffers from a similar "one size fits all"  
border extrapolations).

On a large images these border issues are generally not a worry, but on  
small graphics like web buttons and glyphs they can become very visible as  
you have noted. This is probably worth a bug report if there is not one  
already since it will need to be dealt with more thoroughly for gimp to  
fullfil it's aims to be a top end application.

Gimp-developer mailing list

Reply via email to