Scales the selected objects.

syntaxSyntax:
DlxSelection.Scale(factorX, factorY)
DlxSelection.Scale(factorX, factorY, basePoint)

Parameters

Parameter Description
factorX The factor by which to scale the object horizontally.
factorY The factor with which to scale the object vertically.
basePoint A DlxPoint coordinates specifying the base point.

Return Value

If the operation ends correctly, it returns true otherwise it returns false.

Remarks

The dimensions of the object are multiplied by the scale factor. A scale factor greater than 1 enlarges the object. A scale factor between 0 and 1 reduces the object. The scale factor must be greater than 0.0.

If the base point is not specified, the transformation is performed with respect to the selection hotspot. Use the SetHotspot method to set the hotspot of the selection.

Example

  Copy codeCopy code
var prj = DlxApp.GetJob().GetProject("Example Sch");
if (!prj.IsValid())
  prj = DlxApp.GetJob().NewProject("Example Sch");
var doc = prj.GetDocument("Examples Sch", DlxApp.DOCTYPE_SCHEMATIC);
if (!doc.IsValid())
{
  doc = prj.NewDocument("Examples Sch", DlxApp.DOCTYPE_SCHEMATIC);
  doc.SetPageFormat("A4", false);
}
if (doc.IsValid() && doc.Activate())
{
  var page = doc.GetActivePage();
  if (page.IsValid())
  {
    var layer = page.GetLayerFromType(DlxApp.LAYERTYPE_DRAWING);
    if (layer.IsValid())
    {
      // create objects
      var pen = new DlxPenStyle(0.5, new DlxColor("orangered"), "SOLID");
      doc.SetStyle(pen);
      var obj1 = layer.DrawLine(new DlxPoint(30, 30), new DlxPoint(80, 80));
      var obj2 = layer.DrawEllipse(new DlxPoint(80, 80), 10);
      // scaling objects
      var selection = page.GetSelection();
      selection.Empty();
      selection.AddObject(obj2);
      selection.SetHotspot(new DlxPoint(70,80));
      selection.Scale(2, 1);
    }
  }
}

See also