我的图像是240x320(iphone相机图像为纵向),我需要以编程方式(在C#中)向侧面添加白色“条形”,将整个图像尺寸增加到320x320。我不想缩放图像,因为这会弄乱纵横比。
我发现了很多关于如何用c#删除白条的信息,但没有关于如何添加它们的信息。我很茫然。有没有人有任何可能引导我正确方向的输入?
非常感谢, 布雷特
答案 0 :(得分:14)
using (System.Drawing.Image src = System.Drawing.Image.FromFile("picture.jpg"))
{
using (Bitmap bmp = new Bitmap(320, 320))
{
Graphics g = Graphics.FromImage(bmp);
g.Clear(Color.White);
g.DrawImageUnscaled(src, 60, 0, 240, 320);
bmp.Save("file.jpg", ImageFormat.Jpeg);
}
}
请记住在使用后丢弃对象;)
答案 1 :(得分:4)
创建一个所需大小的新空白色位图,并将较小的图像blit到其上。
答案 2 :(得分:0)
基本上创建一个具有所需尺寸的新位图,用您想要的颜色清除它,然后绘制较小的位图,使其垂直居中。
答案 3 :(得分:0)
这是一个很棒的链接,其中描述了一种更通用的方法,用于调整图像大小并在顶部或底部添加白条(取决于图像方向)c# Image resizing to different size while preserving aspect ratio