JUCE-7.0.12-0-g4f43011b96 JUCE-7.0.12-0-g4f43011b96
JUCE — C++ application framework with suport for VST, VST3, LV2 audio plug-ins

« « « Anklang Documentation
Loading...
Searching...
No Matches
Public Member Functions | List of all members
juce::ImageConvolutionKernel Class Reference

Represents a filter kernel to use in convoluting an image. More...

#include "juce_ImageConvolutionKernel.h"

Public Member Functions

 ImageConvolutionKernel (int size)
 Creates an empty convolution kernel.
 
 ~ImageConvolutionKernel ()
 Destructor.
 
void clear ()
 Resets all values in the kernel to zero.
 
float getKernelValue (int x, int y) const noexcept
 Returns one of the kernel values.
 
void setKernelValue (int x, int y, float value) noexcept
 Sets the value of a specific cell in the kernel.
 
void setOverallSum (float desiredTotalSum)
 Rescales all values in the kernel to make the total add up to a fixed value.
 
void rescaleAllValues (float multiplier)
 Multiplies all values in the kernel by a value.
 
void createGaussianBlur (float blurRadius)
 Initialises the kernel for a gaussian blur.
 
int getKernelSize () const
 Returns the size of the kernel.
 
void applyToImage (Image &destImage, const Image &sourceImage, const Rectangle< int > &destinationArea) const
 Applies the kernel to an image.
 

Detailed Description

Represents a filter kernel to use in convoluting an image.

See also
Image::applyConvolution

@tags{Graphics}

Definition at line 37 of file juce_ImageConvolutionKernel.h.

Constructor & Destructor Documentation

◆ ImageConvolutionKernel()

juce::ImageConvolutionKernel::ImageConvolutionKernel ( int  size)

Creates an empty convolution kernel.

Parameters
sizethe length of each dimension of the kernel, so e.g. if the size is 5, it will create a 5x5 kernel

Definition at line 29 of file juce_ImageConvolutionKernel.cpp.

◆ ~ImageConvolutionKernel()

juce::ImageConvolutionKernel::~ImageConvolutionKernel ( )

Destructor.

Definition at line 36 of file juce_ImageConvolutionKernel.cpp.

Member Function Documentation

◆ applyToImage()

void juce::ImageConvolutionKernel::applyToImage ( Image destImage,
const Image sourceImage,
const Rectangle< int > &  destinationArea 
) const

Applies the kernel to an image.

Parameters
destImagethe image that will receive the resultant convoluted pixels.
sourceImagethe source image to read from - this can be the same image as the destination, but if different, it must be exactly the same size and format.
destinationAreathe region of the image to apply the filter to

Definition at line 105 of file juce_ImageConvolutionKernel.cpp.

◆ clear()

void juce::ImageConvolutionKernel::clear ( )

Resets all values in the kernel to zero.

Definition at line 62 of file juce_ImageConvolutionKernel.cpp.

◆ createGaussianBlur()

void juce::ImageConvolutionKernel::createGaussianBlur ( float  blurRadius)

Initialises the kernel for a gaussian blur.

Parameters
blurRadiusthis may be larger or smaller than the kernel's actual size but this will obviously be wasteful or clip at the edges. Ideally the kernel should be just larger than (blurRadius * 2).

Definition at line 85 of file juce_ImageConvolutionKernel.cpp.

◆ getKernelSize()

int juce::ImageConvolutionKernel::getKernelSize ( ) const

Returns the size of the kernel.

E.g. if it's a 3x3 kernel, this returns 3.

Definition at line 89 of file juce_ImageConvolutionKernel.h.

◆ getKernelValue()

float juce::ImageConvolutionKernel::getKernelValue ( int  x,
int  y 
) const
noexcept

Returns one of the kernel values.

Definition at line 41 of file juce_ImageConvolutionKernel.cpp.

◆ rescaleAllValues()

void juce::ImageConvolutionKernel::rescaleAllValues ( float  multiplier)

Multiplies all values in the kernel by a value.

Definition at line 78 of file juce_ImageConvolutionKernel.cpp.

◆ setKernelValue()

void juce::ImageConvolutionKernel::setKernelValue ( int  x,
int  y,
float  value 
)
noexcept

Sets the value of a specific cell in the kernel.

The x and y parameters must be in the range 0 < x < getKernelSize().

See also
setOverallSum

Definition at line 50 of file juce_ImageConvolutionKernel.cpp.

◆ setOverallSum()

void juce::ImageConvolutionKernel::setOverallSum ( float  desiredTotalSum)

Rescales all values in the kernel to make the total add up to a fixed value.

This will multiply all values in the kernel by (desiredTotalSum / currentTotalSum).

Definition at line 68 of file juce_ImageConvolutionKernel.cpp.


The documentation for this class was generated from the following files: