C# 读取多个文件夹中图片并显示到图片框中
时间: 2023-07-15 07:14:49 浏览: 271
以下是一个示例代码,可以读取多个文件夹中的图片并显示在一个 PictureBox 控件中:
```csharp
private void ShowImages(string[] folderPaths)
{
List<Image> images = new List<Image>();
foreach (string folderPath in folderPaths)
{
// 获取文件夹中所有图片文件的路径
string[] imagePaths = Directory.GetFiles(folderPath, "*.jpg");
foreach (string imagePath in imagePaths)
{
// 加载图片并添加到列表中
Image image = Image.FromFile(imagePath);
images.Add(image);
}
}
// 将图片列表设置为 PictureBox 控件的 Image 属性
pictureBox1.Image = CombineImages(images);
}
private Image CombineImages(List<Image> images)
{
int width = 0;
int height = 0;
// 计算最终图片的尺寸
foreach (Image image in images)
{
width += image.Width;
height = Math.Max(height, image.Height);
}
// 创建新的 Bitmap 对象
Bitmap result = new Bitmap(width, height);
using (Graphics g = Graphics.FromImage(result))
{
int x = 0;
// 将所有图片绘制到新的 Bitmap 对象中
foreach (Image image in images)
{
g.DrawImage(image, x, 0);
x += image.Width;
}
}
return result;
}
```
调用 `ShowImages` 方法时,传入需要读取的文件夹路径的数组即可。其中 `CombineImages` 方法用于将多个图片合成为一张图片,在这里使用了 `Graphics` 类的 `DrawImage` 方法来绘制每张图片。
阅读全文