我正在尝试打开图像,为其添加边框并将图像保存在 C# 中。
我得到了一个代码,我猜这是堆栈溢出的答案。这里是:
public Bitmap AddBorder(Bitmap image, Color color, int size)
{
Bitmap result = new Bitmap(image.Width + size * 2, image.Height + size * 2);
Graphics g = Graphics.FromImage(result);
g.Clear(color);
int x = (result.Width - image.Width) / 2;
int y = (result.Height - image.Height) / 2;
g.DrawImage(image, new Point(x, y));
g.Dispose();
return result;
}
我使用以下方法保存图像:resultimage.save(fileName);
我用大小为 5MP 的图像对其进行了测试。并将图像保存到磁盘。但是有一个错误。
结果的左侧和顶部有一个边框。图像似乎被放大了。例如,保存的图像会丢失部分内容(从正确的尺寸和底部)。
我做错什么了吗?
提前致谢。