我对下面的代码有疑问。我下面的代码成功地运行了一个目录,并将图片的分辨率设置为更小的尺寸。但是,文件大小不会改变。例如,尺寸为 2400x1800 且文件大小为 1.5MB 的图像将被缩放为 800x600,但 800x600 的图片仍将是 1.5MB 文件大小。我想我可能必须明确压缩图片,但我不确定。有任何想法吗?
private void Form1_Load(object sender, EventArgs e)
{
string[] files = null;
int count = 0;
files = System.IO.Directory.GetFiles(@"C:\Users\..\..\ChristmasPicsResized");
foreach (string file in files)
{
System.Drawing.Bitmap bmp = System.Drawing.Bipmap.FromFile(file);
ResizeBitmap(bmp, 807, 605).Save(
@"C:\users\..\..\TempPicHold\Pic" + count.ToString() + ".jpg");
count++;
}
}
public Bitmap ResizeBitmap(Bitmap b, int nWidth, int nHeight)
{
Bitmap result = new Bitmap(nWidth, nHeight);
using (Graphics g = Graphics.FromImage((Image)result))
g.DrawImage(b, 0, 0, nWidth, nHeight);
return result;
}