I am trying to resize an image with the following code:
protected virtual byte[] ImageResize(SKBitmap image, SKEncodedImageFormat format, int targetSize)
{
if (image == null)
throw new ArgumentNullException("Image is null");
float width, height;
if (image.Height > image.Width)
{
// portrait
width = image.Width * (targetSize / (float)image.Height);
height = targetSize;
}
else
{
// landscape or square
width = targetSize;
height = image.Height * (targetSize / (float)image.Width);
}
if ((int)width == 0 || (int)height == 0)
{
width = image.Width;
height = image.Height;
}
try
{
using var resizedBitmap = image.Resize(new SKImageInfo((int)width, (int)height), SKFilterQuality.Medium);
using var cropImage = SKImage.FromBitmap(resizedBitmap);
//In order to exclude saving pictures in low quality at the time of installation, we will set the value of this parameter to 80 (as by default)
return cropImage.Encode(format, _mediaSettings.DefaultImageQuality > 0 ? _mediaSettings.DefaultImageQuality : 80).ToArray();
}
catch
{
return image.Bytes;
}
}
My image is getting resized with black background, but I want to set white or transparent background instead of black.