C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ファイルのサムネイル画像表示を高速化

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■94794 / inTopicNo.1)  ファイルのサムネイル画像表示を高速化
  
□投稿者/ マリ夫 (10回)-(2020/05/20(Wed) 09:22:06)

分類:[.NET 全般] 

Visualstudio2019、VB.NETでFORMアプリケーションを作成しています。
サムネイル画像を持っているファイルからサムネイル画像を取り出して表示を行おうとしています。

サイトを参考に、以下のロジックで表示を行いました。

    Shared Function dummy() As Boolean
        Return False ' このメソッドの内容は何でもよい
    End Function

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim fs As FileStream = File.OpenRead("C:\TEST.svs")
        Dim orig As Image = Image.FromStream(fs, False, False)
        Dim thumbnail As Image = orig.GetThumbnailImage(120, 90, New Image.GetThumbnailImageAbort(AddressOf dummy), IntPtr.Zero)
        PictureBox1.Image = thumbnail
        orig.Dispose()
    End Sub

「C:\TEST.svs」は高解像度デジタル画像です。
ファイルの容量が25MB程度なのですが、サムネイル画像の表示に3秒ほどかかってしまいます。
エクスプローラー上でのサムネイル表示は1秒もかからないうちに表示がかかっているのですが、
もっと早く表示が行えるようにならないでしょうか。
教えていただけたらと思います。

引用返信 編集キー/
■94795 / inTopicNo.2)  Re[1]: ファイルのサムネイル画像表示を高速化
□投稿者/ furu (35回)-(2020/05/20(Wed) 11:00:11)
No94794 (マリ夫 さん) に返信
> エクスプローラー上でのサムネイル表示は1秒もかからないうちに表示がかかっているのですが、
> もっと早く表示が行えるようにならないでしょうか。
エクスプローラーと同じように、「Thumbs.db」を使用してはどうでしょうか?
引用返信 編集キー/
■94796 / inTopicNo.3)  Re[1]: ファイルのサムネイル画像表示を高速化
□投稿者/ KOZ (118回)-(2020/05/20(Wed) 11:07:05)
No94794 (マリ夫 さん) に返信
> ファイルの容量が25MB程度なのですが、サムネイル画像の表示に3秒ほどかかってしまいます。
> エクスプローラー上でのサムネイル表示は1秒もかからないうちに表示がかかっているのですが、
> もっと早く表示が行えるようにならないでしょうか。

エクスプローラーはサムネイルをキャッシュしているので速いのではないでしょうか?

stackoverflow の以下のスレッドに、それを読む方法について案がいろいろ出ています。

「C# get thumbnail from file via windows api」
https://stackoverflow.com/questions/1439719/c-sharp-get-thumbnail-from-file-via-windows-api

簡単そうなのは WindowsAPICodePack を使う方法でしょうか。

キャッシュを自前で実装する手もありそうです。
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ