DynamicTextShape AddHatchPattern
Adds a hatch pattern to the shape
public void AddHatchPattern(HatchPattern hatchPattern) |
Return value
void |
Parameters
HatchPattern | hatchPattern | The hatching pattern that should apply on the text |
Example
Copy
scanDocument = scanDeviceManager.CreateScanDocument(GetselectedDeviceUniqueName(), DistanceUnit.Millimeters, false);
scanDocument.SetScanDocumentName("SerialNumberSample");
// Create a serial number variable
SerialNumber serialVar = new SerialNumber("SerialID");
// Add new line
serialVar.SerialItemList.Add(new NewLineSerialItem());
// Add static text part of the serial number
TextSerialItem textPart = new TextSerialItem();
textPart.Text = "Serial # : ";
serialVar.SerialItemList.Add(textPart);
// Add the number serial item part
NumberSerialItem numberSerialItem = new NumberSerialItem();
numberSerialItem.IsCurrentNumberEnabled = true;
numberSerialItem.StartNumber = 1;
numberSerialItem.CurrentNumber = 1;
numberSerialItem.EndNumber = 10;
numberSerialItem.Increment = 1;
numberSerialItem.FixedLength = 3;
numberSerialItem.RepeatCount = 0;
numberSerialItem.NumarelRepresentation = NumberSystemStyle.Decimal;
serialVar.SerialItemList.Add(numberSerialItem);
serialVar.SerialItemList.Add(new NewLineSerialItem());
//Loop cycles
scanDocument.SetIterations(10);
//Add serialNumber to ScanDocument
scanDocument.AddSerialNumberVariable(serialVar);
if (scanDocument != null)
{
VectorImage vectorImage = scanDocument.CreateVectorImage("image1", DistanceUnit.Millimeters);
vectorImage.SetMarkSpeed(1000);
vectorImage.SetJumpSpeed(2000);
vectorImage.SetJumpDelay(100);
vectorImage.SetMarkDelay(100);
//Set Laser Delays
vectorImage.SetLaserOnDelay(10);
vectorImage.SetLaserOffDelay(10);
DynamicArcTextShape dynamicArcText = new DynamicArcTextShape();
dynamicArcText.Height = 5;
dynamicArcText.VariableName = "arcText1";
dynamicArcText.Text = "Sample Arc text";
dynamicArcText.EvaluateVariableTags = true;
dynamicArcText.FontName = "Arial";
dynamicArcText.Center.X = 0;
dynamicArcText.Center.Y = 0;
dynamicArcText.Center.Z = 0;
dynamicArcText.Radius = 20;
dynamicArcText.StartAngle = 160 * (float)(Math.PI / 180);
dynamicArcText.Clockwise = true;
dynamicArcText.Align = ArcTextAlign.Baseline;
HatchPatternLine patternLine = new HatchPatternLine();
patternLine.BorderGap = 0;
patternLine.BorderGapDirection = HatchLineBorderGapDirection.Inward;
patternLine.Spacing = .1f;
patternLine.Angle = 0f;
patternLine.BaseX = 0f;
patternLine.BaseY = 0f;
patternLine.LineStyle = HatchLineStyle.Unidirectional;
patternLine.WithOffset = true;
patternLine.OffsetAlgorithm = HatchOffsetAlgorithm.DirectOffset;
patternLine.CornerStyle = HatchCornerStyle.SmoothWithLines;
dynamicArcText.AddHatchPattern(patternLine);
// Characters from 0 to 255 or basically extended ASCII range is embedded
Collection<UnicodeRange> unicodeRanges = new Collection<UnicodeRange>();
UnicodeRange unicodeRange = new UnicodeRange();
unicodeRange.StartingCharacter = Convert.ToChar(0x00);
unicodeRange.EndingCharacter = Convert.ToChar(0xff);
unicodeRanges.Add(unicodeRange);
scanDocument.EmbedFont("Arial", FontStyle.Regular, unicodeRanges); // We need to embed the font for dynamic text shapes top be marked
vectorImage.AddDynamicArcText(dynamicArcText, new SerialNumberEx(serialVar));
scanDocument.Scripts.Add(new ScanningScriptChunk("defaultScript", "ScanAll()\r\nLaser.WaitForEnd()"));
try
{
scanDocument.StartScanning();
}
catch
{
}
}