resize image async imagesharp code example

Example: resize image async imagesharp

public async static Task<bool> CropImageAsync(string sourceim, int destinationWidth, int destinationHeight)
    {
        if (sourceim.EndsWith(".png"))
        {
            using (var fullSizeStream = new MemoryStream())
            using (var smallStream = new MemoryStream())
            using (var thumbStream = new MemoryStream())
            using (var reviewThumbStream = new MemoryStream())
            using (var image = SixLabors.ImageSharp.Image.Load(sourceim))
            {
                var img = image.Clone(context => context
                    .Resize(new ResizeOptions
                    {
                        Mode = ResizeMode.Stretch,
                        Size = new SixLabors.ImageSharp.Size(destinationWidth, destinationHeight)
                    }));
                try
                {
                    await img.SaveAsPngAsync(sourceim);
                    return true;
                }
                catch
                {
                    return false;
                }
            }
        }
        else if (sourceim.EndsWith(".jpeg") || sourceim.EndsWith(".jpg"))
        {
            using (var fullSizeStream = new MemoryStream())
            using (var smallStream = new MemoryStream())
            using (var thumbStream = new MemoryStream())
            using (var reviewThumbStream = new MemoryStream())
            using (var image = SixLabors.ImageSharp.Image.Load(sourceim))
            {
                var img = image.Clone(context => context
                    .Resize(new ResizeOptions
                    {
                        Mode = ResizeMode.Stretch,
                        Size = new SixLabors.ImageSharp.Size(destinationWidth, destinationHeight)
                    }));
                try
                {
                    await img.SaveAsJpegAsync(sourceim);
                    return true;
                }
                catch
                {
                    return false;
                }
            }
        }
        else if (sourceim.EndsWith(".gif"))
        {
            using (var fullSizeStream = new MemoryStream())
            using (var smallStream = new MemoryStream())
            using (var thumbStream = new MemoryStream())
            using (var reviewThumbStream = new MemoryStream())
            using (var image = SixLabors.ImageSharp.Image.Load(sourceim))
            {
                var img = image.Clone(context => context
                    .Resize(new ResizeOptions
                    {
                        Mode = ResizeMode.Stretch,
                        Size = new SixLabors.ImageSharp.Size(destinationWidth, destinationHeight)
                    }));
                try
                {
                    await img.SaveAsGifAsync(sourceim);
                    return true;
                }
                catch
                {
                    return false;
                }
            }
        }
        else
        {
            return false;
        }
    }