Boost GIL


cmyk.hpp
1//
2// Copyright 2005-2007 Adobe Systems Incorporated
3//
4// Distributed under the Boost Software License, Version 1.0
5// See accompanying file LICENSE_1_0.txt or copy at
6// http://www.boost.org/LICENSE_1_0.txt
7//
8#ifndef BOOST_GIL_CMYK_HPP
9#define BOOST_GIL_CMYK_HPP
10
11#include <boost/gil/metafunctions.hpp>
12#include <boost/gil/detail/mp11.hpp>
13
14#include <cstddef>
15
16namespace boost { namespace gil {
17
20
22struct cyan_t {};
23
25struct magenta_t {};
26
28struct yellow_t {};
29
31struct black_t {};
33
35using cmyk_t = mp11::mp_list<cyan_t, magenta_t, yellow_t, black_t>;
36
39
42template <typename IC>
43inline auto planar_cmyk_view(std::size_t width, std::size_t height, IC c, IC m, IC y, IC k, std::ptrdiff_t rowsize_in_bytes)
45{
46 using view_t = typename type_from_x_iterator<planar_pixel_iterator<IC,cmyk_t> >::view_t;
47 return view_t(width, height, typename view_t::locator(planar_pixel_iterator<IC,cmyk_t>(c,m,y,k), rowsize_in_bytes));
48}
49
50}} // namespace gil
51
52#endif
auto planar_cmyk_view(std::size_t width, std::size_t height, IC c, IC m, IC y, IC k, std::ptrdiff_t rowsize_in_bytes) -> typename type_from_x_iterator< planar_pixel_iterator< IC, cmyk_t > >::view_t
from raw CMYK planar data
Definition cmyk.hpp:43
defined(BOOST_NO_CXX17_HDR_MEMORY_RESOURCE)
Definition algorithm.hpp:36
Black.
Definition cmyk.hpp:31
Cyan.
Definition cmyk.hpp:22
Represents a color space and ordering of channels in memory.
Definition utilities.hpp:268
Magenta.
Definition cmyk.hpp:25
An iterator over planar pixels. Models HomogeneousColorBaseConcept, PixelIteratorConcept,...
Definition planar_pixel_iterator.hpp:58
Given a pixel iterator defining access to pixels along a row, returns the types of the corresponding ...
Definition metafunctions.hpp:303
Yellow.
Definition cmyk.hpp:28