using SkiaSharp;
namespace NeDvachAPI.DBControllers
{
public class ImageController
public static bool CheckExtention(string extentionToCheck)
var supportedTypes = new[] { ".jpg", ".png", ".jpeg" };
if (supportedTypes.Contains(extentionToCheck.ToLower()))
return true;
}
else return false;
public static bool ResizeImage(string picPath, string smallPath, int width, int height)
var bitmap = SKBitmap.Decode(picPath);
double ratio = Math.Max((double)bitmap.Width / (double)width , (double)bitmap.Height / (double)height);
int targetWidth = (int)(bitmap.Width/ ratio);
int targetHeight = (int)(bitmap.Height / ratio);
Console.WriteLine($"Ресайзим картинку до {targetWidth} ширины и {targetHeight} высоты.");
var dstInfo = new SKImageInfo(targetWidth , targetHeight);
var image = SKImage.FromBitmap(bitmap.Resize(dstInfo, SKFilterQuality.Medium));
var data = image.Encode(SKEncodedImageFormat.Jpeg, 90);
using (var stream = new FileStream(smallPath, FileMode.Create, FileAccess.Write))
data.SaveTo(stream);
data.Dispose();
image.Dispose();
bitmap.Dispose();