G.drawimage desenha com tamanho incorreto
Estou criando um grande bitmap que contém algumas imagens menores de arquivos. As imagens têm um tamanho de 250 px, mas uma delas fica menor e a outra maior que 250 px. Estou apenas usando o método g.drawimage básico, para não entender o que faço de errado.
string[] imagePaths = Directory.GetFiles(@"C:\Users\admin\Desktop\Images");
ArrayList images = new ArrayList();
foreach (var item in imagePaths)
images.Add(new Bitmap(item, true));
Bitmap list = new Bitmap(840, 1188);
Graphics g = Graphics.FromImage(list);
int size = 0;
for (int i = 0; i < images.Count; i++)
{
g.DrawImage((Bitmap)images[i], new Point(10, (i + 1) * 10 + size));
Bitmap bmp = (Bitmap)images[i];
Console.WriteLine(bmp.Height);
Font drawFont = new Font("Arial", 16);
size += bmp.Height;
g.DrawString(imagePaths[i].Substring(imagePaths[i].LastIndexOf("\\") + 1, imagePaths[i].Length - imagePaths[i].LastIndexOf("\\") - 4), drawFont, Brushes.Black, new Point(bmp.Width + 30, (i + 1) * 10 + size / 4));
}
list.Save(@"C:\Users\admin\Desktop\list.png", ImageFormat.Png);