【发布时间】:2018-02-26 14:04:49
【问题描述】:
我正在创建一个包含文件中一些较小图像的大位图。图像的大小均为 250 像素,但其中一个变得更小,另一个大于 250 像素。我只是使用基本的 g.drawimage 方法,所以我不明白我做错了什么。
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);
【问题讨论】:
-
您确定它们的原始尺寸吗?尝试用 Paint 打开它们,通过左下角的 x,y 看到确切的大小
-
是的,它们都是 250 像素。其中之一大 40 kb
-
我需要更多信息来查看问题所在。您认为相关的所有代码就足够了。
-
您的问题解决了吗?