[Kde-graphics-devel] Anyone trying the test apps?
Mosfet
dan.duley at verizon.net
Tue Dec 21 03:00:20 CET 2004
Is anyone testing the test app I posted? If so I will make a new one before
Christmas. If not I won't worry about it until afterwards. Changelog so far:
* Fixed a stupid MMX invert bug, (wrong mask).
* Documented all the methods.
* New CPU info class that properly detects SSE and can detect MMX-SSE and
3dnow+.
* Added new edge detection algorithm, Sobel, along with an MMX version.
* The Imlib based blur is now the default and the old blur has been renamed
"gaussianBlur()". The Sobel edge detection algorithm is now the default and
the old one named "convolveEdge()".
* New class for interpolating colors. The idea behind this is that much of the
processing occurs in the constructor and then interpolating colors just takes
a little inline code with no local variables. Hopefully this will be more
efficent. Handles 32bpp and 8bpp source images transparently.
* Finished rewriting the new Swirl, Implode, and Wave effects. These take
advantage of the new interpolate class. The main user-visible difference is
Swirl and Implode now extend the edges of images instead of filling them
in with a background color.
* The new Oil Paint is finished, based on the new convolve code.
* Sharpen is finished, also based on the new convolve code. I tried
also Imlib's but unlike scaling and blur it wasn't very good.
* Convolve based effects now take a "quality" parameter that helps decide
the matrix size: "High" will use ImageMagick compatible sizes and "Low" will
choose a matrix size that won't overflow our smaller pixel components, (thus
avoiding an overflow check).
* Added a new threshold method. This allows selecting if to threshold the
image based on grayscale, brightness, red, green, blue, or alpha channel
values. It always creates a 2 color destination image and allows you
to select those colors.
* Added a new grayscale method, grayscaleBrightness(). This uses the maximum
pixel component ala HSV, and is used when you want values identical to
HSV for further processing.
* Changed the inline HSV conversion from macros and a structure to a normal
class with inline members. I originally went with macros to force the code
inline, but it was rather messy and made me feel a little dirty ;-)
* Moved the convolve based effects to their own source file, "convolve.cpp".
This affects convolve(), emboss(), oilPaint(), convolveEdge(), sharpen(), and
gaussianBlur().
* Updated the GUI test app with all the new stuff. It now uses two rows of
vertical buttons instead of one horizontal row.
More information about the Kde-graphics-devel
mailing list