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

C# 如何在.NET core中使用MagickImage向图像添加填充,c#,.net,.net-core,imagemagick,C#,.net,.net Core,Imagemagick,我正在尝试编写一个函数,为图像添加填充,但我不确定如何使用ImageMagick实现 public bool AddPadding(string filePath) { // Read from file using (MagickImage image = new MagickImage(filePath)) { int imageSize; int imageX = image.W

我正在尝试编写一个函数,为图像添加填充,但我不确定如何使用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);
        }
    }

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

您可以使用
MagickImage
Extent
方法进行此操作。下面是一个你如何做到这一点的例子

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);
    }
}

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

找到图像宽度(W)和高度(H),然后使用等效的命令行-背景白色-重心-范围WxH。看,是的,我知道,但我不知道@fmw42的命令。如果您在这里没有得到答案,您可以尝试发布到