[英]Image border manipulation in C#
我需要在我为公司制作的网站上调整图片大小。 图片必须是非常特定的尺寸,如果比例不正确,我必须能够用边框填充图像以使其“适合”。 我不确定解决这个问题的最佳方法是什么。 我的下意识就是根据需要简单地将矩形添加到图像中,但是我无法找到一种方法来制作这样的合成图像。 我应该制作一个合适的空白矩形,并在上面叠加我的图像吗? 我应该最关注哪些库或函数?
调整大小和保存所有工作都很棒 - 这不是问题。 添加此填充是唯一的问题。
创建一个适当大小的新Bitmap
,用您想要的填充颜色填充它,并在中心绘制原始图像:
Bitmap newImage = new Bitmap(width, height);
using(Graphics graphics = Graphics.FromImage(newImage))
{
graphics.Clear(paddingColor);
int x = (newImage.Width - originalImage.Width) / 2;
int y = (newImage.Height - originalImage.Height) / 2;
graphics.DrawImage(originalImage, x, y);
}
本文似乎涵盖了您的要求:
最简单的方法是从最终图像中所需尺寸的Bitmap开始,然后使用Graphics.Clear绘制所需的背景颜色,然后使用Graphics.DrawImage将原始图像复制到主Bitmap上,根据需要调整其大小在此步骤中,将InterpolationMode设置为HighQualityBicubic以获得最佳质量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.