Практическое руководство. Создание эскизов изображений

Эскиз — это уменьшенная версия изображения. Вы можете создать эскиз изображения, вызвав метод GetThumbnailImage объекта Image.

Пример

В следующем примере объект Image создается из JPG-файла. Исходное изображение имеет ширину 640 пикселей и высоту 479 пикселей. Код создает эскиз изображения с шириной и высотой в 100 пикселей.

На рисунке ниже показан эскиз:

Screenshot that shows the output thumbnail.

Примечание.

В этом примере объявляется метод обратного вызова, однако он никогда не используется. В данном случае поддерживаются все версии GDI+.

public bool ThumbnailCallback()
{
    return true;
}

private void GetThumbnail(PaintEventArgs e)
{
    Image.GetThumbnailImageAbort callback =
        new Image.GetThumbnailImageAbort(ThumbnailCallback);
    Image image = new Bitmap(@"c:\FakePhoto.jpg");
    Image pThumbnail = image.GetThumbnailImage(100, 100, callback, new
       IntPtr());
    e.Graphics.DrawImage(
       pThumbnail,
       10,
       10,
       pThumbnail.Width,
       pThumbnail.Height);
}
Public Function ThumbnailCallback() As Boolean 
        Return True 
End Function 

Private Sub GetThumbnail(ByVal e As PaintEventArgs) 

        Dim callback As New Image.GetThumbnailImageAbort(AddressOf ThumbnailCallback) 
        Dim image As Image = New Bitmap("c:\FakePhoto.jpg") 
        Dim pThumbnail As Image = image.GetThumbnailImage(100, 100, callback, New IntPtr()) 
        e.Graphics.DrawImage(pThumbnail, 10, 10, pThumbnail.Width, pThumbnail.Height) 
End Sub 

Компиляция кода

Предыдущий пример предназначен для работы с Windows Forms, и для него необходим объект PaintEventArgse, передаваемый в качестве параметра обработчику событий Paint. Чтобы запустить этот пример, выполните следующие шаги:

  1. Создайте новое приложение Windows Forms.

  2. Добавьте пример кода в форму.

  3. Создайте обработчик для события Paint вашей формы

  4. В обработчике Paint вызовите метод GetThumbnail и передайте e в PaintEventArgs.

  5. Найдите файл изображения, для которого нужно создать эскиз.

  6. В методе GetThumbnail укажите путь к изображению и имя файла.

  7. Нажмите клавишу F5, чтобы запустить проект.

    Изображение-эскиз размером 100 на 100 должно будет отобразиться в форме.

См. также