用于调整图片大小我使用此方法:
private Bitmap ResizeBitmap(Bitmap b, int nWidth, int nHeight)
{
Bitmap result = new Bitmap(nWidth, nHeight);
using (Graphics g = Graphics.FromImage((System.Drawing.Image)result))
g.DrawImage(b, 0, 0, nWidth, nHeight);
return result;
}
是否有可能在图片的顶部/底部或右侧/左侧创建白色或黑色边框,以便图片居中,我不必通过CSS进行此操作?
示例:我有一张200x100像素的照片,我想让它在我网站上的100x100像素图像区域中工作。目前我将200x100像素图片的大小调整为100x50像素,这样它就可以在100x100像素的盒子中进行匹配,并以css为中心。
我需要的是在调整图片大小以添加边框后,使图片不是100x50像素,而是100x100像素,白色或黑色边框......
任何想法......我可以用普通的.net库做到这一点吗?感谢所有的建议!
最好的问候, 杰西卡
答案 0 :(得分:1)
我终于找到了解决问题的方法:
private Bitmap ResizeBitmapWithPadding(Bitmap b, int nWidth, int nHeight, int originalWidth, int originalHeight)
{
Bitmap result = new Bitmap(originalWidth, originalHeight);
using (Graphics g = Graphics.FromImage((System.Drawing.Image)result))
{
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.SmoothingMode = SmoothingMode.HighQuality;
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
g.CompositingQuality = CompositingQuality.HighQuality;
g.Clear(GetColor());
g.DrawImage(b, (originalWidth - nWidth) / 2, (originalHeight - nHeight) / 2, nWidnHeight);
}
return result;
}
感谢您的帮助!