Skip to content

Commit b3f2293

Browse files
committed
Moved GaussianBlur to IMagickImageCreateOperations.
1 parent 68b09fd commit b3f2293

File tree

5 files changed

+61
-38
lines changed

5 files changed

+61
-38
lines changed

src/Magick.NET.Core/IMagickImage.cs

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1027,38 +1027,6 @@ public partial interface IMagickImage : IMagickImageCreateOperations, IDisposabl
10271027
/// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
10281028
void GammaCorrect(double gamma, Channels channels);
10291029

1030-
/// <summary>
1031-
/// Gaussian blur image.
1032-
/// </summary>
1033-
/// <param name="radius">The number of neighbor pixels to be included in the convolution.</param>
1034-
/// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
1035-
void GaussianBlur(double radius);
1036-
1037-
/// <summary>
1038-
/// Gaussian blur image.
1039-
/// </summary>
1040-
/// <param name="radius">The number of neighbor pixels to be included in the convolution.</param>
1041-
/// <param name="channels">The channel(s) to blur.</param>
1042-
/// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
1043-
void GaussianBlur(double radius, Channels channels);
1044-
1045-
/// <summary>
1046-
/// Gaussian blur image.
1047-
/// </summary>
1048-
/// <param name="radius">The number of neighbor pixels to be included in the convolution.</param>
1049-
/// <param name="sigma">The standard deviation of the gaussian bell curve.</param>
1050-
/// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
1051-
void GaussianBlur(double radius, double sigma);
1052-
1053-
/// <summary>
1054-
/// Gaussian blur image.
1055-
/// </summary>
1056-
/// <param name="radius">The number of neighbor pixels to be included in the convolution.</param>
1057-
/// <param name="sigma">The standard deviation of the gaussian bell curve.</param>
1058-
/// <param name="channels">The channel(s) to blur.</param>
1059-
/// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
1060-
void GaussianBlur(double radius, double sigma, Channels channels);
1061-
10621030
/// <summary>
10631031
/// Retrieve the 8bim profile from the image.
10641032
/// </summary>

src/Magick.NET.Core/IMagickImageCreateOperations.cs

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -537,6 +537,38 @@ public interface IMagickImageCreateOperations
537537
/// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
538538
void Frame(uint width, uint height, int innerBevel, int outerBevel);
539539

540+
/// <summary>
541+
/// Gaussian blur image.
542+
/// </summary>
543+
/// <param name="radius">The number of neighbor pixels to be included in the convolution.</param>
544+
/// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
545+
void GaussianBlur(double radius);
546+
547+
/// <summary>
548+
/// Gaussian blur image.
549+
/// </summary>
550+
/// <param name="radius">The number of neighbor pixels to be included in the convolution.</param>
551+
/// <param name="channels">The channel(s) to blur.</param>
552+
/// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
553+
void GaussianBlur(double radius, Channels channels);
554+
555+
/// <summary>
556+
/// Gaussian blur image.
557+
/// </summary>
558+
/// <param name="radius">The number of neighbor pixels to be included in the convolution.</param>
559+
/// <param name="sigma">The standard deviation of the gaussian bell curve.</param>
560+
/// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
561+
void GaussianBlur(double radius, double sigma);
562+
563+
/// <summary>
564+
/// Gaussian blur image.
565+
/// </summary>
566+
/// <param name="radius">The number of neighbor pixels to be included in the convolution.</param>
567+
/// <param name="sigma">The standard deviation of the gaussian bell curve.</param>
568+
/// <param name="channels">The channel(s) to blur.</param>
569+
/// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
570+
void GaussianBlur(double radius, double sigma, Channels channels);
571+
540572
/// <summary>
541573
/// Resize image to specified size.
542574
/// <para />

src/Magick.NET/MagickImage.CloneMutator.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,18 @@ public void Frame(uint width, uint height)
317317
public void Frame(uint width, uint height, int innerBevel, int outerBevel)
318318
=> Frame(new MagickGeometry(innerBevel, outerBevel, width, height));
319319

320+
public void GaussianBlur(double radius)
321+
=> GaussianBlur(radius, 1.0);
322+
323+
public void GaussianBlur(double radius, Channels channels)
324+
=> GaussianBlur(radius, 1.0, channels);
325+
326+
public void GaussianBlur(double radius, double sigma)
327+
=> GaussianBlur(radius, sigma, ImageMagick.Channels.Undefined);
328+
329+
public void GaussianBlur(double radius, double sigma, Channels channels)
330+
=> SetResult(NativeMagickImage.GaussianBlur(radius, sigma, channels));
331+
320332
public void Resize(uint width, uint height)
321333
=> Resize(new MagickGeometry(width, height));
322334

src/Magick.NET/MagickImage.cs

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3091,7 +3091,10 @@ public void GammaCorrect(double gamma, Channels channels)
30913091
/// <param name="radius">The number of neighbor pixels to be included in the convolution.</param>
30923092
/// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
30933093
public void GaussianBlur(double radius)
3094-
=> GaussianBlur(radius, 1.0);
3094+
{
3095+
using var mutator = new Mutator(_nativeInstance);
3096+
mutator.GaussianBlur(radius);
3097+
}
30953098

30963099
/// <summary>
30973100
/// Gaussian blur image.
@@ -3100,7 +3103,10 @@ public void GaussianBlur(double radius)
31003103
/// <param name="channels">The channel(s) to blur.</param>
31013104
/// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
31023105
public void GaussianBlur(double radius, Channels channels)
3103-
=> GaussianBlur(radius, 1.0, channels);
3106+
{
3107+
using var mutator = new Mutator(_nativeInstance);
3108+
mutator.GaussianBlur(radius, channels);
3109+
}
31043110

31053111
/// <summary>
31063112
/// Gaussian blur image.
@@ -3109,7 +3115,10 @@ public void GaussianBlur(double radius, Channels channels)
31093115
/// <param name="sigma">The standard deviation of the gaussian bell curve.</param>
31103116
/// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
31113117
public void GaussianBlur(double radius, double sigma)
3112-
=> GaussianBlur(radius, sigma, ImageMagick.Channels.Undefined);
3118+
{
3119+
using var mutator = new Mutator(_nativeInstance);
3120+
mutator.GaussianBlur(radius, sigma);
3121+
}
31133122

31143123
/// <summary>
31153124
/// Gaussian blur image.
@@ -3119,7 +3128,10 @@ public void GaussianBlur(double radius, double sigma)
31193128
/// <param name="channels">The channel(s) to blur.</param>
31203129
/// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
31213130
public void GaussianBlur(double radius, double sigma, Channels channels)
3122-
=> _nativeInstance.GaussianBlur(radius, sigma, channels);
3131+
{
3132+
using var mutator = new Mutator(_nativeInstance);
3133+
mutator.GaussianBlur(radius, sigma, channels);
3134+
}
31233135

31243136
/// <summary>
31253137
/// Retrieve the 8bim profile from the image.

src/Magick.NET/Native/MagickImage.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -435,8 +435,7 @@ private unsafe sealed partial class NativeMagickImage : NativeInstance, INativeM
435435
public partial void GammaCorrect(double gamma, Channels channels);
436436

437437
[Throws]
438-
[SetInstance]
439-
public partial void GaussianBlur(double radius, double sigma, Channels channels);
438+
public partial IntPtr GaussianBlur(double radius, double sigma, Channels channels);
440439

441440
[Throws]
442441
public partial string? GetArtifact(string name);

0 commit comments

Comments
 (0)