3

ファイルダイアログからアプリケーション画面に複数の画像をロードできる単純なwinformアプリケーションをc#で作成しようとしています。ロードされたサムネイルを選択し、選択に基づいて他の多くのことを実行できるようにしたいので、ピクチャボックスコントロールは私のニーズに応えられないため、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