mirror of
https://github.com/ivanch/tcc.git
synced 2025-08-25 23:31:49 +00:00
terminando .NET
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using ImageMagick;
|
||||
using tcc_app;
|
||||
|
||||
namespace TCC.Services
|
||||
{
|
||||
@@ -10,6 +11,14 @@ namespace TCC.Services
|
||||
{
|
||||
var image = new MagickImage(imageStream);
|
||||
var blurredImage = new MagickImage(image);
|
||||
|
||||
blurredImage = BoxBlurImageSeparable(image, blurredImage, radius, 0);
|
||||
blurredImage = BoxBlurImageSeparable(image, blurredImage, 0, radius);
|
||||
return blurredImage;
|
||||
}
|
||||
|
||||
private MagickImage BoxBlurImageSeparable(MagickImage image, MagickImage blurredImage, int radiusX, int radiusY)
|
||||
{
|
||||
var pixels = image.GetPixels();
|
||||
var blurredPixels = blurredImage.GetPixelsUnsafe();
|
||||
|
||||
@@ -20,9 +29,9 @@ namespace TCC.Services
|
||||
|
||||
long rTotal = 0, gTotal = 0, bTotal = 0;
|
||||
int pixelCount = 0;
|
||||
for (int offsetY = -radius; offsetY <= radius; offsetY++)
|
||||
for (int offsetY = -radiusY; offsetY <= radiusY; offsetY++)
|
||||
{
|
||||
for (int offsetX = -radius; offsetX <= radius; offsetX++)
|
||||
for (int offsetX = -radiusX; offsetX <= radiusX; offsetX++)
|
||||
{
|
||||
int newX = x + offsetX;
|
||||
int newY = y + offsetY;
|
||||
@@ -45,5 +54,22 @@ namespace TCC.Services
|
||||
|
||||
return blurredImage;
|
||||
}
|
||||
|
||||
public void SaveImage(Stream fileStream)
|
||||
{
|
||||
var file = File.Create("image.png");
|
||||
fileStream.CopyToAsync(file);
|
||||
file.Close();
|
||||
}
|
||||
|
||||
public MagickImage GetSimpleImage()
|
||||
{
|
||||
return ImageHelper.SimpleImage;
|
||||
}
|
||||
|
||||
public MagickImage GetBigImage()
|
||||
{
|
||||
return ImageHelper.BigImage;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user