如何在 .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);
}
}
我需要添加什么才能使图像居中并在左右两侧添加空白?
您可以使用 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);
}
}
这会添加紫色填充,因此您可能希望将颜色更改为其他颜色。
我正在尝试编写一个向图像添加填充的函数,但我不确定如何使用 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);
}
}
这会添加紫色填充,因此您可能希望将颜色更改为其他颜色。