我一直在使用Boost.GIL進行一些基本的圖像處理程序。在Boost.GIL,不同類型的像素之間的色空間轉換通過一通用convert_pixel()
函數的模板特實現。 不過,我很想覆蓋基於LCMS的東西,比如這些實現。覆蓋專用模板
有什麼辦法可以重寫模板的專門化,以便任何內部呼叫convert_pixel()
將使用新的基於LCMS的convert_pixel()
?
最後aswer
挖到GIL設計手冊(比教程更有趣),我發現的Adobe如何建議解決這個問題。對於那些我們感興趣,該鏈接提供了答案:http://www.boost.org/doc/libs/1_49_0/libs/gil/doc/html/gildesignguide.html#NewColorConversionDG
不幸的是,雖然總的來說你的想法很好,但在這種特殊情況下它並不適用。實際上,顏色轉換依賴於boost/gil/color_convert.hpp中定義的類default_color_converter。 「訣竅」就在那裏,但我必須弄清楚如何取代它。儘管有新的挑戰很好。 – davideanastasia