Можно изменить BltMode ( SetStretchBltMode() ) на STRETCH_HALFTONE, если не ошибаюсь, и копировать через StretchBlt(). Тоже получите сглаживание.
Цитата:
Я переделала ее так, чтобы изображения передавались как параметры по ссылке, а не по значению.
|
В этом нет необходимости, TBitmap в любом случае передается как ссылка.
_____________
Вот кстати и пример, только что проверил - отлично сглаживает.
Код:
var
PrevStretchBltMode : Integer;
begin
PrevStretchBltMode := SetStretchBltMode(Canvas.Handle, STRETCH_HALFTONE);//устанавливаем режим сглаживания
Canvas.CopyRect(
rect(0, 0, ClientWidth, ClientHeight),
Image1.Picture.Bitmap.Canvas,
Rect(0,0, Image1.Picture.Bitmap.Width, Image1.Picture.Bitmap.Height));
SetStretchBltMode(Canvas.Handle, PrevStretchBltMode );//Восстанавливаем предыдущий ражим сглаживания