22 using PixelArray = std::shared_ptr<std::vector<_u::Color>>;
30 static bool Load(::Array<uint8_t>* p_Bytes,
int& p_Width,
int& p_Height, PixelArray* p_Pixels);
38 static void FastGaussianBlur(
int p_InWidth,
int p_InHeight, PixelArray& p_InPixels,
int p_Radius);
42 static void Multiply(PixelArray& p_ImageA, PixelArray& p_ImageB);
50 static PixelArray
ResampleAndCrop(
int p_InWidth,
int p_InHeight, PixelArray& p_InPixels,
int p_TargetWidth,
int p_TargetHeight,
float p_YOffsetRel = 0.5f);
53 static std::vector<int> BoxesForGauss(
int p_Radius,
int p_Count);
54 static void GaussianBlur4(
int p_Width,
int p_Height, PixelArray& p_InPixels,
int p_Radius);
55 static void BoxBlur4 (
int p_Width,
int p_Height, PixelArray& p_InPixels,
int p_Radius);
56 static void BoxBlurH4(
int p_Width,
int p_Height, PixelArray& p_InPixels,
int p_Radius);
57 static void BoxBlurT4(
int p_Width,
int p_Height, PixelArray& p_InPixels,
int p_Radius);
static void Multiply(PixelArray &p_ImageA, PixelArray &p_ImageB)
Multiply image A & B into A.
static PixelArray ResampleAndCrop(int p_InWidth, int p_InHeight, PixelArray &p_InPixels, int p_TargetWidth, int p_TargetHeight, float p_YOffsetRel=0.5f)
Resize an image and crop it.
static bool Load(::Array< uint8_t > *p_Bytes, int &p_Width, int &p_Height, PixelArray *p_Pixels)
Load an image into raw pixels.
static void FastGaussianBlur(int p_InWidth, int p_InHeight, PixelArray &p_InPixels, int p_Radius)
Blur an image.