x
Yes
No
Do you want to visit DriveHQ English website?
首页
产品服务
价格
免费试用
下载客户端
关于我们
云文件服务
|
云备份服务
|
FTP服务
|
企业邮箱服务
|
网站托管
|
客户端软件
云文件服务
云备份服务
FTP服务
企业级邮箱服务
网站托管
客户端软件
algorithm.hpp - Hosted on DriveHQ Cloud IT Platform
返回上层目录
上传
下载
共享
发布
新建文件夹
新建文件
复制
剪切
删除
粘贴
评论
升级服务
路径: \\game3dprogramming\materials\GameFactory\GameFactoryDemo\references\boost_1_35_0\boost\gil\extension\dynamic_image\algorithm.hpp
旋转
特效
属性
历史版本
/* Copyright 2005-2007 Adobe Systems Incorporated Use, modification and distribution are subject to the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt). See http://opensource.adobe.com/gil for most recent version including documentation. */ /*************************************************************************************************/ #ifndef GIL_DYNAMICIMAGE_ALGORITHM_HPP #define GIL_DYNAMICIMAGE_ALGORITHM_HPP #include "../../algorithm.hpp" #include "any_image.hpp" #include
//////////////////////////////////////////////////////////////////////////////////////// /// \file /// \brief Some basic STL-style algorithms when applied to runtime type specified image views /// \author Lubomir Bourdev and Hailin Jin \n /// Adobe Systems Incorporated /// \date 2005-2007 \n Last updated on September 24, 2006 /// //////////////////////////////////////////////////////////////////////////////////////// namespace boost { namespace gil { namespace detail { struct equal_pixels_fn : public binary_operation_obj
{ template
GIL_FORCEINLINE bool apply_compatible(const V1& v1, const V2& v2) const { return equal_pixels(v1,v2); } }; } // namespace detail /// \ingroup ImageViewSTLAlgorithmsEqualPixels template
// Model MutableImageViewConcept bool equal_pixels(const any_image_view
& src, const View2& dst) { return apply_operation(src,boost::bind(detail::equal_pixels_fn(), _1, dst)); } /// \ingroup ImageViewSTLAlgorithmsEqualPixels template
// Model MPL Random Access Container of models of MutableImageViewConcept bool equal_pixels(const View1& src, const any_image_view
& dst) { return apply_operation(dst,boost::bind(detail::equal_pixels_fn(), src, _1)); } /// \ingroup ImageViewSTLAlgorithmsEqualPixels template
// Model MPL Random Access Container of models of MutableImageViewConcept bool equal_pixels(const any_image_view
& src, const any_image_view
& dst) { return apply_operation(src,dst,detail::equal_pixels_fn()); } namespace detail { struct copy_pixels_fn : public binary_operation_obj
{ template
GIL_FORCEINLINE void apply_compatible(const View1& src, const View2& dst) const { copy_pixels(src,dst); } }; } /// \ingroup ImageViewSTLAlgorithmsCopyPixels template
// Model MutableImageViewConcept void copy_pixels(const any_image_view
& src, const View2& dst) { apply_operation(src,boost::bind(detail::copy_pixels_fn(), _1, dst)); } /// \ingroup ImageViewSTLAlgorithmsCopyPixels template
// Model MPL Random Access Container of models of MutableImageViewConcept void copy_pixels(const View1& src, const any_image_view
& dst) { apply_operation(dst,boost::bind(detail::copy_pixels_fn(), src, _1)); } /// \ingroup ImageViewSTLAlgorithmsCopyPixels template
// Model MPL Random Access Container of models of MutableImageViewConcept void copy_pixels(const any_image_view
& src, const any_image_view
& dst) { apply_operation(src,dst,detail::copy_pixels_fn()); } //forward declaration for default_color_converter (see full definition in color_convert.hpp) struct default_color_converter; /// \ingroup ImageViewSTLAlgorithmsCopyAndConvertPixels template
// Model ColorConverterConcept void copy_and_convert_pixels(const any_image_view
& src, const View2& dst, CC cc) { apply_operation(src,boost::bind(detail::copy_and_convert_pixels_fn
(cc), _1, dst)); } /// \ingroup ImageViewSTLAlgorithmsCopyAndConvertPixels template
// Model MutableImageViewConcept void copy_and_convert_pixels(const any_image_view
& src, const View2& dst) { apply_operation(src,boost::bind(detail::copy_and_convert_pixels_fn
(), _1, dst)); } /// \ingroup ImageViewSTLAlgorithmsCopyAndConvertPixels template
// Model ColorConverterConcept void copy_and_convert_pixels(const View1& src, const any_image_view
& dst, CC cc) { apply_operation(dst,boost::bind(detail::copy_and_convert_pixels_fn
(cc), src, _1)); } /// \ingroup ImageViewSTLAlgorithmsCopyAndConvertPixels template
// Model MPL Random Access Container of models of MutableImageViewConcept void copy_and_convert_pixels(const View1& src, const any_image_view
& dst) { apply_operation(dst,boost::bind(detail::copy_and_convert_pixels_fn
(), src, _1)); } /// \ingroup ImageViewSTLAlgorithmsCopyAndConvertPixels template
// Model ColorConverterConcept void copy_and_convert_pixels(const any_image_view
& src, const any_image_view
& dst, CC cc) { apply_operation(src,dst,detail::copy_and_convert_pixels_fn
(cc)); } /// \ingroup ImageViewSTLAlgorithmsCopyAndConvertPixels template
// Model MPL Random Access Container of models of MutableImageViewConcept void copy_and_convert_pixels(const any_image_view
& src, const any_image_view
& dst) { apply_operation(src,dst,detail::copy_and_convert_pixels_fn
()); } namespace detail { template
struct fill_pixels_fn1 { template
static void apply(const V& src, const Value& val) { fill_pixels(src,val); } }; // copy_pixels invoked on incompatible images template <> struct fill_pixels_fn1
{ template
static void apply(const V& src, const Value& val) { throw std::bad_cast();} }; template
struct fill_pixels_fn { fill_pixels_fn(const Value& val) : _val(val) {} typedef void result_type; template
result_type operator()(const V& img_view) const { fill_pixels_fn1
::value>::apply(img_view,_val); } Value _val; }; } /// \ingroup ImageViewSTLAlgorithmsFillPixels /// \brief fill_pixels for any image view. The pixel to fill with must be compatible with the current view template
void fill_pixels(const any_image_view
& img_view, const Value& val) { apply_operation(img_view,detail::fill_pixels_fn
(val)); } } } // namespace boost::gil #endif
algorithm.hpp
网页地址
文件地址
上一页 1/10
下一页
下载
( 7 KB )
Comments
Total ratings:
0
Average rating:
无评论
of 10
Would you like to comment?
Join now
, or
Logon
if you are already a member.