You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
169 lines
6.4 KiB
169 lines
6.4 KiB
* fmt_filters is a regular C++ namespace.
|
|
* it is a set of image filters, written on pure C++.
|
|
* it is intended to create platform-independed filters, which can be used anywhere -
|
|
in KDE, GNOME, ... apps.
|
|
* these source files are distributed with ksquirrel from http://ksquirrel.sf.net.
|
|
* you can find the latest version of fmt_filters at http://ksquirrel.sf.net/subprojects.php.
|
|
* fmt_filters work with 32-bit image data.
|
|
* to use it in your project, simply add fmt_filters sources to your project.
|
|
* fmt_filters is distributed under the terms of LGPL. See COPYING for details.
|
|
|
|
* at this time fmt_filters supports the following filters:
|
|
- colorize
|
|
- brightness
|
|
- contrast
|
|
- gamma
|
|
- negative
|
|
- swap RGB values
|
|
- blend
|
|
- fade
|
|
- togray
|
|
- desaturate
|
|
- threshold
|
|
- solarize
|
|
- spread
|
|
- swirl
|
|
- noise
|
|
- flatten
|
|
- wave
|
|
- shade
|
|
- equalize
|
|
- blur
|
|
- despeckle
|
|
- implode
|
|
- edge
|
|
- emboss
|
|
- sharpen
|
|
- oil
|
|
- redeye
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
Copyrights:
|
|
|
|
|
|
* redeye
|
|
--------
|
|
|
|
Red-eye removal was taken from "redeye" plugin for GIMP
|
|
|
|
/* redeye.c: redeye remover plugin code
|
|
*
|
|
* Copyright (C) 2004 Robert Merkel <robert.merkel@benambra.org> (the "Author").
|
|
* All Rights Reserved.
|
|
*
|
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
|
* copy of this software and associated documentation files (the "Software"),
|
|
* to deal in the Software without restriction, including without limitation
|
|
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
* and/or sell copies of the Software, and to permit persons to whom the
|
|
* Software is furnished to do so, subject to the following conditions:
|
|
*
|
|
* The above copyright notice and this permission notice shall be included
|
|
* in all copies or substantial portions of the Software.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
* THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
*
|
|
* Except as contained in this notice, the name of the Author of the
|
|
* Software shall not be used in advertising or otherwise to promote the
|
|
* sale, use or other dealings in this Software without prior written
|
|
* authorization from the Author.
|
|
1;3B */
|
|
|
|
|
|
* most image processing filters ported from KImageEffect (KDE project, http://kde.org)
|
|
--------------------------------------------------------------------------------------
|
|
|
|
/* This file is part of the KDE libraries
|
|
Copyright (C) 1998, 1999, 2001, 2002 Daniel M. Duley <mosfet@kde.org>
|
|
(C) 1998, 1999 Christian Tibirna <ctibirna@total.net>
|
|
(C) 1998, 1999 Dirk A. Mueller <mueller@kde.org>
|
|
(C) 1999 Geert Jansen <g.t.jansen@stud.tue.nl>
|
|
(C) 2000 Josef Weidendorfer <weidendo@in.tum.de>
|
|
|
|
Redistribution and use in source and binary forms, with or without
|
|
modification, are permitted provided that the following conditions
|
|
are met:
|
|
|
|
1. Redistributions of source code must retain the above copyright
|
|
notice, this list of conditions and the following disclaimer.
|
|
2. Redistributions in binary form must reproduce the above copyright
|
|
notice, this list of conditions and the following disclaimer in the
|
|
documentation and/or other materials provided with the distribution.
|
|
|
|
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
|
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
*/
|
|
|
|
//
|
|
// ===================================================================
|
|
// Effects originally ported from ImageMagick for PixiePlus, plus a few
|
|
// new ones. (mosfet 05/26/2003)
|
|
// ===================================================================
|
|
//
|
|
/*
|
|
Portions of this software are based on ImageMagick. Such portions are clearly
|
|
marked as being ported from ImageMagick. ImageMagick is copyrighted under the
|
|
following conditions:
|
|
|
|
Copyright (C) 2003 ImageMagick Studio, a non-profit organization dedicated to
|
|
making software imaging solutions freely available.
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
of this software and associated documentation files ("ImageMagick"), to deal
|
|
in ImageMagick without restriction, including without limitation the rights
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
copies of ImageMagick, and to permit persons to whom the ImageMagick is
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in all
|
|
copies or substantial portions of ImageMagick.
|
|
|
|
The software is provided "as is", without warranty of any kind, express or
|
|
implied, including but not limited to the warranties of merchantability,
|
|
fitness for a particular purpose and noninfringement. In no event shall
|
|
ImageMagick Studio be liable for any claim, damages or other liability,
|
|
whether in an action of contract, tort or otherwise, arising from, out of or
|
|
in connection with ImageMagick or the use or other dealings in ImageMagick.
|
|
|
|
Except as contained in this notice, the name of the ImageMagick Studio shall
|
|
not be used in advertising or otherwise to promote the sale, use or other
|
|
dealings in ImageMagick without prior written authorization from the
|
|
ImageMagick Studio.
|
|
*/
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
Qt example:
|
|
-----------
|
|
|
|
QImage im;
|
|
|
|
im.load("sample.png");
|
|
|
|
im = im.convertDepth(32);
|
|
|
|
fmt_filters::image img(sample.bits(), sample.width(), sample.height());
|
|
|
|
fmt_filters::implode(img, 50, fmt_filters::white);
|
|
|
|
QPixmap p;
|
|
|
|
p.convertFromImage(im);
|
|
|
|
pixmapLabel->setPixmap(p);
|