Эскизы поддерживаются некоторыми форматами изображений, такими как JPEG и TIFF. Зачастую они используются при сохранении цифровых изображений фотокамерами для отображения уменьшенной копии изображения на экране фотокамеры.
Метод GetThumbnailImage позволяет извлекать встроенный в изображение эскиз и масштабировать его в указанные размеры, а при его отсутствии - создать уменьшенную копию всего изображения.
Но алгоритмы, используемые при преобразовании, не могут дать приемлемого качества уже при размере эскиза 300х300 пискселей и выше (так говорит сама Microsoft).
Таким образом, для создания качественного эскиза, необходимо использовать масштабирование всего изображения.
var
original_imageg, thumbnail_imageg: TGPImage;
g: TGPGraphics;
tmb_width, tmb_height: Integer;
encoderClsid: TGUID;
begin
tmb_width := 100; // ширина эскиза
tmb_height := 100; // высота эскиза
original_imageg := TGPImage.Create('c:\Cat.bmp'); // оригинальное изображение
thumbnail_imageg := TGPBitmap.Create(tmb_width, tmb_height); // будущий эскиз
g := TGPGraphics.Create(thumbnail_imageg); // полотно для рисования
g.SetInterpolationMode(InterpolationModeHighQualityBilinear); // алгоритм интерполяции
g.DrawImage(original_imageg, MakeRect(0, 0, tmb_width, tmb_height), 0, 0, original_imageg.GetWidth, original_imageg.GetWidth, UnitPixel);
g.Destroy;
GetEncoderClsid('image/jpeg', encoderClsid);
thumbnail_imageg.Save('c:\newcat.jpg', encoderClsid); // сохраняем
end;

Создание эскиза (thumbnail) с помощью GDI+ в Delphi
