|
Gin
|
Image processing effects and filters. More...
Enumerations | |
| enum class | ResizeAlgorirm { ResizeAlgorirm::avir , ResizeAlgorirm::lanczos } |
| Image resize algorithms for high-quality scaling. More... | |
| enum | BlendMode { Normal , Lighten , Darken , Multiply , Average , Add , Subtract , Difference , Negation , Screen , Exclusion , Overlay , SoftLight , HardLight , ColorDodge , ColorBurn , LinearDodge , LinearBurn , LinearLight , VividLight , PinLight , HardMix , Reflect , Glow , Phoenix } |
| Blending modes for image compositing. More... | |
Functions | |
| void | applyVignette (juce::Image &img, float amount, float radius, float falloff, juce::ThreadPool *threadPool=nullptr) |
| Applies a vignette effect to an image. | |
| void | applySepia (juce::Image &img, juce::ThreadPool *threadPool=nullptr) |
| Applies a sepia tone effect to an image. | |
| void | applyGreyScale (juce::Image &img, juce::ThreadPool *threadPool=nullptr) |
| Converts an image to greyscale. | |
| void | applySoften (juce::Image &img, juce::ThreadPool *threadPool=nullptr) |
| Softens an image by reducing detail. | |
| void | applySharpen (juce::Image &img, juce::ThreadPool *threadPool=nullptr) |
| Sharpens an image by enhancing edges. | |
| void | applyGamma (juce::Image &img, float gamma, juce::ThreadPool *threadPool=nullptr) |
| Applies gamma correction to an image. | |
| void | applyInvert (juce::Image &img, juce::ThreadPool *threadPool=nullptr) |
| Inverts all colors in an image. | |
| void | applyContrast (juce::Image &img, float contrast, juce::ThreadPool *threadPool=nullptr) |
| Adjusts the contrast of an image. | |
| void | applyBrightnessContrast (juce::Image &img, float brightness, float contrast, juce::ThreadPool *threadPool=nullptr) |
| Adjusts brightness and contrast of an image. | |
| void | applyHueSaturationLightness (juce::Image &img, float hue, float saturation, float lightness, juce::ThreadPool *threadPool=nullptr) |
| Adjusts hue, saturation and lightness of an image. | |
| void | applyStackBlur (juce::Image &img, int radius) |
| Applies a fast, high-quality blur to an image. | |
| juce::Image | applyResize (const juce::Image &img, int width, int height, ResizeAlgorirm resizeAlgorirm=ResizeAlgorirm::avir) |
| Resizes an image to specific dimensions using high-quality algorithm. | |
| juce::Image | applyResize (const juce::Image &img, float factor, ResizeAlgorirm resizeAlgorirm=ResizeAlgorirm::avir) |
| Resizes an image by a scaling factor. | |
| void | applyGradientMap (juce::Image &img, const juce::ColourGradient &gradient, juce::ThreadPool *threadPool=nullptr) |
| Applies a gradient map to an image. | |
| void | applyGradientMap (juce::Image &img, const juce::Colour c1, const juce::Colour c2, juce::ThreadPool *threadPool=nullptr) |
| Applies a two-color gradient map to an image. | |
| void | applyColour (juce::Image &img, juce::Colour c, juce::ThreadPool *threadPool=nullptr) |
| Sets all pixels in an image to a solid color. | |
| void | applyBlend (juce::Image &dst, const juce::Image &src, BlendMode mode, float alpha=1.0f, juce::Point< int > position={}, juce::ThreadPool *threadPool=nullptr) |
| Blends two images using the specified blend mode. | |
| void | applyBlend (juce::Image &dst, BlendMode mode, juce::Colour c, juce::ThreadPool *threadPool=nullptr) |
| Blends a solid color onto an image using the specified blend mode. | |
| uint8_t | channelBlendNormal (int A, int) |
| uint8_t | channelBlendLighten (int A, int B) |
| uint8_t | channelBlendDarken (int A, int B) |
| uint8_t | channelBlendMultiply (int A, int B) |
| uint8_t | channelBlendAverage (int A, int B) |
| uint8_t | channelBlendAdd (int A, int B) |
| uint8_t | channelBlendSubtract (int A, int B) |
| uint8_t | channelBlendDifference (int A, int B) |
| uint8_t | channelBlendNegation (int A, int B) |
| uint8_t | channelBlendScreen (int A, int B) |
| uint8_t | channelBlendExclusion (int A, int B) |
| uint8_t | channelBlendOverlay (int A, int B) |
| uint8_t | channelBlendSoftLight (int A, int B) |
| uint8_t | channelBlendHardLight (int A, int B) |
| uint8_t | channelBlendColorDodge (int A, int B) |
| uint8_t | channelBlendColorBurn (int A, int B) |
| uint8_t | channelBlendLinearDodge (int A, int B) |
| uint8_t | channelBlendLinearBurn (int A, int B) |
| uint8_t | channelBlendLinearLight (int A, int B) |
| uint8_t | channelBlendVividLight (int A, int B) |
| uint8_t | channelBlendPinLight (int A, int B) |
| uint8_t | channelBlendHardMix (int A, int B) |
| uint8_t | channelBlendReflect (int A, int B) |
| uint8_t | channelBlendGlow (int A, int B) |
| uint8_t | channelBlendPhoenix (int A, int B) |
| uint8_t | channelBlendAlpha (uint8_t A, uint8_t B, float O) |
Image processing effects and filters.
This file provides a collection of image processing functions for applying various visual effects, adjustments, and filters to JUCE images. Most functions modify images in-place and support optional multithreading via ThreadPool.
Effects categories: