Mercurial > hg > orthanc
diff Core/Images/ImageProcessing.h @ 2489:e91bab2d8c75
Bresenham's line algorithm
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 13 Mar 2018 21:14:21 +0100 |
parents | 345725b9350c |
children | 8ed9893c9230 |
line wrap: on
line diff
--- a/Core/Images/ImageProcessing.h Tue Mar 13 17:02:30 2018 +0100 +++ b/Core/Images/ImageProcessing.h Tue Mar 13 21:14:21 2018 +0100 @@ -39,49 +39,65 @@ namespace Orthanc { - class ImageProcessing + namespace ImageProcessing { - public: - static void Copy(ImageAccessor& target, - const ImageAccessor& source); + void Copy(ImageAccessor& target, + const ImageAccessor& source); - static void Convert(ImageAccessor& target, - const ImageAccessor& source); + void Convert(ImageAccessor& target, + const ImageAccessor& source); - static void Set(ImageAccessor& image, - int64_t value); + void Set(ImageAccessor& image, + int64_t value); - static void Set(ImageAccessor& image, - uint8_t red, - uint8_t green, - uint8_t blue, - uint8_t alpha); + void Set(ImageAccessor& image, + uint8_t red, + uint8_t green, + uint8_t blue, + uint8_t alpha); - static void ShiftRight(ImageAccessor& target, - unsigned int shift); + void ShiftRight(ImageAccessor& target, + unsigned int shift); - static void GetMinMaxIntegerValue(int64_t& minValue, - int64_t& maxValue, - const ImageAccessor& image); + void GetMinMaxIntegerValue(int64_t& minValue, + int64_t& maxValue, + const ImageAccessor& image); - static void GetMinMaxFloatValue(float& minValue, - float& maxValue, - const ImageAccessor& image); + void GetMinMaxFloatValue(float& minValue, + float& maxValue, + const ImageAccessor& image); - static void AddConstant(ImageAccessor& image, - int64_t value); + void AddConstant(ImageAccessor& image, + int64_t value); // "useRound" is expensive - static void MultiplyConstant(ImageAccessor& image, - float factor, - bool useRound); + void MultiplyConstant(ImageAccessor& image, + float factor, + bool useRound); // "useRound" is expensive - static void ShiftScale(ImageAccessor& image, - float offset, - float scaling, - bool useRound); + void ShiftScale(ImageAccessor& image, + float offset, + float scaling, + bool useRound); + + void Invert(ImageAccessor& image); - static void Invert(ImageAccessor& image); + void DrawLineSegment(ImageAccessor& image, + int x0, + int y0, + int x1, + int y1, + int64_t value); + + void DrawLineSegment(ImageAccessor& image, + int x0, + int y0, + int x1, + int y1, + uint8_t red, + uint8_t green, + uint8_t blue, + uint8_t alpha); }; }