Предпросмотр большого количества изображений - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Хочу сделать некий сортировщик фотографий. Для этого мне нужен предпросмотр, такой же как в проводнике Windows, если поставить вид "крупные значки". Фотографий много, от нескольких десятков до нескольких сотен. На экране за раз может уместиться 50-100 изображений в приемлемом для меня размере. Как сделать чтобы в PictureBox грузилась маленькая превьюшка соответсвующего размера, чтобы не грузить память?

Решение задачи: «Предпросмотр большого количества изображений»

textual
Листинг программы
Public Function ThumbnailCallback() As Boolean
        Return False
    End Function
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Const fixHeight = 120 ' получаем превьюшки фиксированной высоты, ширина вычисляется в нужной пропорции, чтоб искажений не было
        Dim myCallback As New Image.GetThumbnailImageAbort(AddressOf ThumbnailCallback)
        Dim ofd As New OpenFileDialog
        Dim prev As Bitmap
        ofd.ShowDialog()
        Using bmp As Bitmap = Bitmap.FromFile(ofd.FileName)
            prev = bmp.GetThumbnailImage(CInt(bmp.Width / bmp.Height * fixHeight), fixHeight, myCallback, IntPtr.Zero)
            Me.PictureBox1.Image = prev
        End Using
    End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы