Scales the selected objects.
Syntax: |
---|
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 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);
}
}
}
|