public override void SetTransformation(double translateX, double translateY, double rotate, double scaleX, double scaleY) { translateX *= MmToPt; translateY *= MmToPt; if (_hasSavedGraphicsState) { _contentStream.RestoreGraphicsState(); _lastStrokingColor = 0; _lastNonStrokingColor = 0; _lastLineWidth = 1; } _lastFont = null; _lastFontSize = 0; _contentStream.SaveGraphicsState(); _hasSavedGraphicsState = true; using (Matrix matrix = new Matrix()) { matrix.Translate((float)translateX, (float)translateY); if (rotate != 0) { matrix.Rotate((float)(rotate / Math.PI * 180)); } if (scaleX != 1 || scaleY != 1) { matrix.Scale((float)scaleX, (float)scaleY); } _contentStream.Transform(matrix); } }
/// <inheritdoc /> public override void SetTransformation(double translateX, double translateY, double rotate, double scaleX, double scaleY) { translateX *= MmToPt; translateY *= MmToPt; if (_hasSavedGraphicsState) { _contentStream.RestoreGraphicsState(); _lastStrokingColor = 0; _lastNonStrokingColor = 0; _lastLineWidth = 1; } _lastFont = null; _lastFontSize = 0; _contentStream.SaveGraphicsState(); _hasSavedGraphicsState = true; var matrix = new TransformationMatrix(); matrix.Translate(translateX, translateY); matrix.Rotate(rotate); matrix.Scale(scaleX, scaleY); _contentStream.Transform(matrix); }