А
вот это вам не подойдет? То, что качество уменьшенной картинки там точно получается выше, чем при использовании StretchDraw, я сама проверила. =)
Только процедурка может потребовать небольшой доработки...
Я переделала ее так, чтобы изображения передавались как параметры по ссылке, а не по значению.
Код:
procedure ResizeBitmap(const imgo: TBitmap; var imgd: TBitmap; nw, nh: Integer);
А в остальном можно ничего не менять...