我正在尝试在 c# 中创建一个简单的 winform 应用程序,它可以将文件对话框中的多个图像加载到应用程序屏幕中。我正在使用 ListView 控件来包含这些图像,因为图片框控件无法满足我的需求,因为我希望能够选择加载的缩略图并根据选择执行许多其他操作。
我遇到的问题与缩略图图像质量有关。 一旦它们被加载到应用程序窗口面板中,图像质量就会很差。我希望它们看起来就像 Windows 操作系统如何以具有良好图像质量的大图标显示图像的预览/缩略图。
我已经尝试listView1.LargeImageList.ColorDepth = ColorDepth.Depth32Bit;
按照其他人的建议添加它,但它甚至不会让应用程序加载图像。
这是到目前为止完成的代码。
using (OpenFileDialog open = new OpenFileDialog())
{
open.Title = "Open Image";
open.Filter = "JPEG Files (*.jpg)|*.jpg;*.jpeg|All Files (*.*)|*.*";
open.Multiselect = true;
if (open.ShowDialog() == DialogResult.OK)
{
ImageList picList = new ImageList();
listView1.View = View.LargeIcon;
picList.ImageSize = new Size(200, 130);
foreach (String file in open.FileNames)
{
Image i = Image.FromFile(file);
Image pic = i.GetThumbnailImage(200, 130, null, new IntPtr());
picList.Images.Add(pic);
}
listView1.LargeImageList = picList;
listView1.LargeImageList.ColorDepth = ColorDepth.Depth32Bit;
for (int i = 0; i < picList.Images.Count; i++)
{
ListViewItem item = new ListViewItem();
item.ImageIndex = i;
listView1.Items.Add(item);
}
}
有没有人建议我应该怎么做才能使它与 Windows 的默认缩略图查看器一样好?