ImageEn, unit iegdiplus

TIECanvas.SmoothingMode

TIECanvas.SmoothingMode


Declaration

property SmoothingMode: TIECanvasSmoothingMode;


Description

Specify whether smoothing (antialiasing) is applied to lines and curves and the edges of filled areas.

iesmDefault, iesmBestPerformance and iesmNone specify that smoothing is not applied.
iesmBestRenderingQuality, iesmAntialias specify that smoothing is applied using an 8x4 box filter.
iesmAntialias8x8 specifies that smoothing is applied using an 8x8 box filter.

GDI+ Method: GdipSetSmoothingMode

Default: iesmBestRenderingQuality


Comparison

const
  Count = 6;
  SmoothingModeStr: array[iesmDefault..iesmAntialias8x8] of string = (
    'iesmDefault', 'iesmBestPerformance', 'iesmBestRenderingQuality',
    'iesmNone', 'iesmAntialias', 'iesmAntialias8x8' );
  Ellipse_Width  = 200;
  Ellipse_Height = 100;
  Margin         = 20;
  Text_Offset    = 5;
var
  sm: TIECanvasSmoothingMode;
  y: Integer;
begin
  ImageEnView1.IEBitmap.Allocate( Ellipse_Width + 2 * Margin, Count * ( Ellipse_Height + Margin ) + Margin, clWhite );
  y := Margin;
  for sm := iesmDefault to iesmAntialias8x8 do
  begin
    ImageEnView1.IEBitmap.IECanvas.SmoothingMode := sm;

    // Border
    ImageEnView1.IEBitmap.IECanvas.Pen.Style := psSolid;
    ImageEnView1.IEBitmap.IECanvas.Pen.Color := clBlue;
    ImageEnView1.IEBitmap.IECanvas.Pen.Width := 5;

    // Fill
    ImageEnView1.IEBitmap.IECanvas.Brush.Style := bsSolid;
    ImageEnView1.IEBitmap.IECanvas.Brush.Color := clYellow;

    ImageEnView1.IEBitmap.IECanvas.Ellipse( Margin, y + Margin, Margin + Ellipse_Width, y + Ellipse_Height );
    ImageEnView1.IEBitmap.IECanvas.DrawText( SmoothingModeStr[sm], Margin, y - Text_Offset );

    inc( y, Ellipse_Height + Margin );
  end;

  ImageEnView1.Update();
end;



Examples

// Set best quality
IECanvas.SmoothingMode := iesmBestRenderingQuality;

// Set best performance
IECanvas.SmoothingMode := iesmBestPerformance;