0

为了调整我的图片大小,我使用这种方法:

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库来做到这一点吗?感谢所有的建议!

最好的问候,杰西卡

4

1 回答 1

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

thanks for your help!

于 2012-09-12T15:26:02.217 回答