Declaration ​
pascal
procedure HorizontalBlur32(ASource, ADest: TBitmap32; Radius: TFloat);
procedure GammaHorizontalBlur32(ASource, ADest: TBitmap32; Radius: TFloat);Parameters ​
| Parameter | Type | Description |
|---|---|---|
ASource | TBitmap32 | Source 32-bit bitmap to read pixels from. |
ADest | TBitmap32 | Destination 32-bit bitmap to receive the horizontally blurred output. |
Radius | TFloat | Blur radius in pixels. |
Description ​
HorizontalBlur32 and GammaHorizontalBlur32 performs a 1D horizontal-only Gaussian blur across bitmap scanlines.
These routines apply the recursive Gaussian filter along horizontal rows without performing the vertical filtering pass, producing horizontal streak or motion blur effects.
Variant Summary ​
| Function | Description |
|---|---|
HorizontalBlur32 | 1D horizontal Gaussian blur in standard non-linear sRGB space. |
GammaHorizontalBlur32 | 1D horizontal Gaussian blur in linear light space (gamma-aware). |
Example ​
pascal
var
Src, Dst: TBitmap32;
begin
Src := TBitmap32.Create;
Dst := TBitmap32.Create;
try
Src.LoadFromFile('photo.png');
// Apply horizontal motion blur with a 15.0 pixel radius
HorizontalBlur32(Src, Dst, 15.0);
Dst.SaveToFile('horizontal_motion_blur.png');
finally
Src.Free;
Dst.Free;
end;
end;