3

我正在尝试在 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 的默认缩略图查看器一样好?

4

0 回答 0