Как изменить качество (Quality) изображения? Написал такую функцию, но она не работает
procedure ChangeQuality( SrcBitmap: TBitmap; var DstBitmap: TBitmap; AQuality: Integer );
var
Stream: TStream;
Surface: TBitmapSurface;
SaveParam: TBitmapCodecSaveParams;
begin
if Assigned( DstBitmap ) then
begin
//DstBitmap.SetSize( SrcBitmap.Width, SrcBitmap.Height );
Stream := TMemoryStream.Create;
Surface := TBitmapSurface.Create;
try
Surface.Assign( SrcBitmap );
SaveParam.Quality := AQuality; // AQuality = 65
TBitmapCodecManager.SaveToStream( Stream, Surface, '.jpg', @SaveParam );
Stream.Position := 0;
DstBitmap.LoadFromStream( Stream );
finally
Surface.Free;
Stream.Free;
end;
end;
end;