// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright (C) 2007 Authors: * Christopher Brown * Ted Gould * * Released under GNU GPL v2+, 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_optiongroup("layer"); } #include "../clear-n_.h" void Channel::init() { // clang-format off Inkscape::Extension::build_from_mem( "\n" "" N_("Channel") "\n" "org.inkscape.effect.bitmap.channel\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "all\n" "\n" "\n" "\n" "" N_("Extract specific channel from image") "\n" "\n" "\n", new Channel()); // clang-format on } }; /* namespace Bitmap */ }; /* namespace Internal */ }; /* namespace Extension */ }; /* namespace Inkscape */