如何在 .NET Core 中使用 MagickImage 向图像添加填充

How to add padding to an image using MagickImage in .NET core

我正在尝试编写一个向图像添加填充的函数,但我不确定如何使用 ImageMagick 来实现。

    public bool AddPadding(string filePath)
    {
        // Read from file
        using (MagickImage image = new MagickImage(filePath))
        {
            int imageSize;
            int imageX = image.Width;
            int imageY = image.Height;

            if(imageX > imageY)
            {
                imageSize = imageX;
            }
            else
            {
                imageSize = imageY;
            }

            MagickGeometry size = new MagickGeometry(imageSize, imageSize);
            // Probably do more stuff here?




            // Save the result
            image.Write(filePath);
        }
    }

我需要添加什么才能使图像居中并在左右两侧添加空白?

您可以使用 MagickImageExtent 方法。下面是一个如何做到这一点的例子。

public bool AddPadding(string filePath)
{
    // Read from file
    using (MagickImage image = new MagickImage(filePath))
    {
        int imageSize = Math.Max(image.Width, image.Height);

        // Add padding
        image.Extent(imageSize, imageSize, Gravity.Center, MagickColors.Purple);

        // Save the result
        image.Write(filePath);
    }
}

这会添加紫色填充,因此您可能希望将颜色更改为其他颜色。