/* * Copyright (C) 2007 Authors: * Christopher Brown * Ted Gould * * Released under GNU GPL, read the file 'COPYING' for more information */ #include "extension/effect.h" #include "extension/system.h" #include "channel.h" #include namespace Inkscape { namespace Extension { namespace Internal { namespace Bitmap { void Channel::applyEffect(Magick::Image *image) { Magick::ChannelType layer = Magick::UndefinedChannel; if (!strcmp(_layerName, "Red Channel")) layer = Magick::RedChannel; else if (!strcmp(_layerName, "Green Channel")) layer = Magick::GreenChannel; else if (!strcmp(_layerName, "Blue Channel")) layer = Magick::BlueChannel; else if (!strcmp(_layerName, "Cyan Channel")) layer = Magick::CyanChannel; else if (!strcmp(_layerName, "Magenta Channel")) layer = Magick::MagentaChannel; else if (!strcmp(_layerName, "Yellow Channel")) layer = Magick::YellowChannel; else if (!strcmp(_layerName, "Black Channel")) layer = Magick::BlackChannel; else if (!strcmp(_layerName, "Opacity Channel")) layer = Magick::OpacityChannel; else if (!strcmp(_layerName, "Matte Channel")) layer = Magick::MatteChannel; image->channel(layer); } void Channel::refreshParameters(Inkscape::Extension::Effect *module) { _layerName = module->get_param_enum("layer"); } #include "../clear-n_.h" void Channel::init(void) { Inkscape::Extension::build_from_mem( "\n" "" N_("Channel") "\n" "org.inkscape.effect.bitmap.channel\n" "\n" "<_item value='Red Channel'>" N_("Red Channel") "\n" "<_item value='Green Channel'>" N_("Green Channel") "\n" "<_item value='Blue Channel'>" N_("Blue Channel") "\n" "<_item value='Cyan Channel'>" N_("Cyan Channel") "\n" "<_item value='Magenta Channel'>" N_("Magenta Channel") "\n" "<_item value='Yellow Channel'>" N_("Yellow Channel") "\n" "<_item value='Black Channel'>" N_("Black Channel") "\n" "<_item value='Opacity Channel'>" N_("Opacity Channel") "\n" "<_item value='Matte Channel'>" N_("Matte Channel") "\n" "\n" "\n" "all\n" "\n" "\n" "\n" "" N_("Extract specific channel from image") "\n" "\n" "\n", new Channel()); } }; /* namespace Bitmap */ }; /* namespace Internal */ }; /* namespace Extension */ }; /* namespace Inkscape */