Поделиться через


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

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

Пример

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

Эскиз изображения показан на следующем рисунке.

Эскиз рисунка

Примечание

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

    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 
    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);
        }
      

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

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

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

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

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

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

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

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

  7. Нажмите клавишу F5 для запуска примера.

    В форме появится эскиз изображения размером 100х100.

См. также

Другие ресурсы

Работа с растровыми и векторными изображениями с использованием классов Image, Bitmap и Metafile

Работа с растровыми и векторными изображениями